Function at 0x40ab00
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edx, [ebp - 0x15c]
push ebx
lea eax, [ebp - 0x18]
sub esp, 0x18c
mov dword [ebp - 0x17c], ecx
mov dword [esp], edx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x144], 0x427a90
mov dword [ebp - 0x140], 0x448076
mov dword [ebp - 0x138], 0x40c70b
mov dword [ebp - 0x134], esp
call fcn.004286f8
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ecx + 0xcd8]
cmp eax, 1
je 0x40d2e9
cmp eax, 2
mov ecx, dword [ebp - 0x17c]
je 0x40d2fa
mov dword [ecx + 0xce4], 7
mov eax, 7
mov ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx + 0xaf]
lea edx, [eax + edx + 1]
mov eax, dword [ecx + 0xcec]
mov dword [ebp - 0x160], edx
mov dword [esp], eax
call fcn.00404d40
mov ecx, dword [ebp - 0x17c]
sub esp, 4
cmp byte [ecx + 0xcdd], 0
je 0x40cafc
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x17c]
cmp byte [ecx + 0xcdc], 0
je 0x40d200
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x168]
movzx eax, byte [ecx + 0xaf]
add edx, dword [ecx + 0xcec]
movzx edx, byte [edx + eax]
and edx, 1
mov ebx, dword [ebp - 0x17c]
mov byte [ebp - 0x28], dl
movzx ecx, word [ebx + 0xc0]
mov eax, dword [ebx + 0xce8]
sub eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x1c]
je 0x40d2c5
test ecx, ecx
je 0x40ac4d
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ecx, 8
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x17c]
cmp byte [ecx + 0xcdc], 0
je 0x40ac69
add dword [ecx + 0xce8], 1
mov ecx, dword [ebp - 0x17c]
cmp dword [ecx + 0xcd8], 1
je 0x40cad0
movzx eax, byte [ecx + 0xaf]
mov edx, dword [ecx + 0xcec]
lea eax, [edx + eax + 1]
mov dword [esp], eax
call fcn.00404db0
mov ebx, dword [0x44f0d0]
mov ecx, dword [0x44f0cc]
sub esp, 4
mov eax, ebx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x4f72c235
test eax, eax
je 0x40cad0
mov dword [ebp - 0x180], 0
jmp 0x40ace5
add dword [ebp - 0x180], 1
mov eax, ebx
sub eax, ecx
sar eax, 2
imul eax, eax, 0x4f72c235
cmp dword [ebp - 0x180], eax
jae 0x40cad0
mov eax, dword [ebp - 0x2c]
imul esi, dword [ebp - 0x180], 0x74
mov dword [ebp - 0x184], esi
mov edx, esi
lea esi, [eax + eax*2]
mov eax, dword [0x44f038]
add edx, ecx
mov eax, dword [eax + 0xb4]
lea eax, [eax + esi*4]
mov edi, dword [eax]
cmp dword [edx], edi
jne 0x40acc5
mov esi, dword [eax + 4]
cmp dword [edx + 4], esi
jne 0x40acc5
movzx eax, byte [ebp - 0x28]
cmp al, 1
je 0x40b8c5
test al, al
jne 0x40acc5
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp], 0
mov dword [ebp - 0x158], 1
call dword [0x4507ec]
mov ebx, dword [0x450730]
lea ecx, [ebp - 0x34]
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab53
mov dword [esp], 0x449004
mov dword [ebp - 0x178], ebx
call ebx
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x3c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov esi, dword [0x4506f4]
mov eax, dword [ecx + 0xd18]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x22
mov dword [ebp - 0x174], esi
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x44]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab5a
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x23
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x4c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xcf8]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x24
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x54]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44a3b2
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x25
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x5c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xcfc]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x26
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x64]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab5e
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x27
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x6c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd00]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x28
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x74]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab62
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x29
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x7c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd04]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x2a
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x84]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab66
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x2b
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x8c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd08]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x2c
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x94]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab6a
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x2d
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x9c]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd0c]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x2e
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0xa4]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab78
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0x2f
call dword [ebp - 0x178]
mov edx, dword [ebp - 0x184]
sub esp, 0x10
mov eax, 0xffffffff
add edx, dword [0x44f0cc]
add edx, 0x30
mov dword [ebp - 0x184], edx
je 0x40b059
mov dword [esp], edx
call fcn.0042d6e0
mov esi, dword [ebp - 0x184]
lea edx, [ebp - 0xa8]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [ebp - 0x158], 0x30
mov dword [esp + 4], esi
call dword [0x4506e8]
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
mov dword [ebp - 0xa0], eax
test edx, edx
je 0x40b09e
cmp edx, 0xffffffff
je 0x40b09e
lock add dword [eax], 1
setne dl
mov eax, dword [0x4506ec]
lea edi, [ebp - 0xa4]
mov dword [ebp - 0x158], 0x51
mov dword [esp], edi
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x184], eax
call eax
mov eax, dword [ebp - 0xa0]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x98], eax
test edx, edx
je 0x40b0e5
cmp edx, 0xffffffff
je 0x40b0e5
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x52
lea edx, [ebp - 0x9c]
mov dword [esp], edx
lea ecx, [ebp - 0x98]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x98]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x90], eax
test edx, edx
je 0x40b125
cmp edx, 0xffffffff
je 0x40b125
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x53
lea ecx, [ebp - 0x94]
mov dword [esp], ecx
lea ecx, [ebp - 0x90]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x90]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x88], eax
test edx, edx
je 0x40b165
cmp edx, 0xffffffff
je 0x40b165
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x54
lea ebx, [ebp - 0x8c]
mov dword [esp], ebx
lea ecx, [ebp - 0x88]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x88]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x80], eax
test edx, edx
je 0x40b1a2
cmp edx, 0xffffffff
je 0x40b1a2
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x55
lea esi, [ebp - 0x84]
mov dword [esp], esi
lea ecx, [ebp - 0x80]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x80]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x78], eax
test edx, edx
je 0x40b1d9
cmp edx, 0xffffffff
je 0x40b1d9
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x56
lea edi, [ebp - 0x7c]
mov dword [esp], edi
lea ecx, [ebp - 0x78]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x78]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x70], eax
test edx, edx
je 0x40b20d
cmp edx, 0xffffffff
je 0x40b20d
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x57
lea eax, [ebp - 0x74]
mov dword [esp], eax
lea ecx, [ebp - 0x70]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x70]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x68], eax
test edx, edx
je 0x40b241
cmp edx, 0xffffffff
je 0x40b241
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x58
lea edx, [ebp - 0x6c]
mov dword [esp], edx
lea ecx, [ebp - 0x68]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x68]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x60], eax
test edx, edx
je 0x40b275
cmp edx, 0xffffffff
je 0x40b275
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x59
lea ecx, [ebp - 0x64]
mov dword [esp], ecx
lea ecx, [ebp - 0x60]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x60]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x58], eax
test edx, edx
je 0x40b2a9
cmp edx, 0xffffffff
je 0x40b2a9
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5a
lea ebx, [ebp - 0x5c]
mov dword [esp], ebx
lea ecx, [ebp - 0x58]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x58]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x50], eax
test edx, edx
je 0x40b2dd
cmp edx, 0xffffffff
je 0x40b2dd
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5b
lea esi, [ebp - 0x54]
mov dword [esp], esi
lea ecx, [ebp - 0x50]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x50]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x48], eax
test edx, edx
je 0x40b311
cmp edx, 0xffffffff
je 0x40b311
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5c
lea edi, [ebp - 0x4c]
mov dword [esp], edi
lea ecx, [ebp - 0x48]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x48]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x40], eax
test edx, edx
je 0x40b345
cmp edx, 0xffffffff
je 0x40b345
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5d
lea eax, [ebp - 0x44]
mov dword [esp], eax
lea ecx, [ebp - 0x40]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x40]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x38], eax
test edx, edx
je 0x40b379
cmp edx, 0xffffffff
je 0x40b379
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5e
lea edx, [ebp - 0x3c]
mov dword [esp], edx
lea ecx, [ebp - 0x38]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x38]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x30], eax
test edx, edx
je 0x40b3ad
cmp edx, 0xffffffff
je 0x40b3ad
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x5f
lea ecx, [ebp - 0x34]
mov dword [esp], ecx
lea ecx, [ebp - 0x30]
call dword [ebp - 0x184]
mov dword [ebp - 0x158], 0x40
sub esp, 4
mov dword [esp], 0x18
call fcn.004286b0
lea ebx, [ebp - 0x30]
mov dword [esp + 4], 0
mov ecx, eax
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x41
mov dword [ebp - 0x170], eax
call dword [0x450804]
mov ecx, dword [ebp - 0x17c]
sub esp, 8
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x170]
mov dword [esp], 0
mov dword [ebp - 0x158], 0x40
mov dword [esp + 8], eax
call dword [0x4507e8]
mov eax, dword [ebp - 0x30]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x40c5a0
cmp edx, 0xffffffff
je 0x40b461
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40c598
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
test edx, edx
je 0x40c5d0
cmp edx, 0xffffffff
je 0x40b482
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dd01
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
test edx, edx
je 0x40c600
cmp edx, 0xffffffff
je 0x40b4a3
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dce1
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
test edx, edx
je 0x40c630
cmp edx, 0xffffffff
je 0x40b4c4
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dce9
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
test edx, edx
je 0x40c660
cmp edx, 0xffffffff
je 0x40b4e5
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcf1
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
test edx, edx
je 0x40c690
cmp edx, 0xffffffff
je 0x40b506
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcf9
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
test edx, edx
je 0x40c6c0
cmp edx, 0xffffffff
je 0x40b527
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc98
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
test edx, edx
je 0x40c6f0
cmp edx, 0xffffffff
je 0x40b548
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dca0
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
test edx, edx
je 0x40c720
cmp edx, 0xffffffff
je 0x40b569
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dca8
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
test edx, edx
je 0x40c750
cmp edx, 0xffffffff
je 0x40b58a
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcb0
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
test edx, edx
je 0x40c780
cmp edx, 0xffffffff
je 0x40b5ab
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcb8
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
test edx, edx
je 0x40c7b3
cmp edx, 0xffffffff
je 0x40b5cf
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcc0
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
test edx, edx
je 0x40c7e6
cmp edx, 0xffffffff
je 0x40b5f3
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dccb
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x40c819
cmp edx, 0xffffffff
je 0x40b617
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dcd6
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x40c84c
cmp edx, 0xffffffff
je 0x40b63b
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc13
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x40c87f
cmp edx, 0xffffffff
je 0x40b65f
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc1e
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
test edx, edx
je 0x40c8b2
cmp edx, 0xffffffff
je 0x40b683
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc29
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x40c8e5
cmp edx, 0xffffffff
je 0x40b6a7
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc34
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
test edx, edx
je 0x40c918
cmp edx, 0xffffffff
je 0x40b6cb
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc3f
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
test edx, edx
je 0x40c94b
cmp edx, 0xffffffff
je 0x40b6ef
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc4a
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
test edx, edx
je 0x40c97e
cmp edx, 0xffffffff
je 0x40b713
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc55
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
test edx, edx
je 0x40c9ae
cmp edx, 0xffffffff
je 0x40b734
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc60
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
test edx, edx
je 0x40c9de
cmp edx, 0xffffffff
je 0x40b755
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc68
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x40ca0e
cmp edx, 0xffffffff
je 0x40b776
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc70
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
test edx, edx
je 0x40ca3e
cmp edx, 0xffffffff
je 0x40b797
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc78
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
test edx, edx
je 0x40ca6e
cmp edx, 0xffffffff
je 0x40b7b8
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc80
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
test edx, edx
je 0x40ca9e
cmp edx, 0xffffffff
je 0x40b7d9
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc88
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
test edx, edx
je 0x40c570
cmp edx, 0xffffffff
je 0x40b7fa
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40c568
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
test edx, edx
je 0x40c510
cmp edx, 0xffffffff
je 0x40b81b
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40c503
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
test edx, edx
je 0x40c540
cmp edx, 0xffffffff
je 0x40b83c
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc90
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
test edx, edx
je 0x40b8a0
cmp edx, 0xffffffff
je 0x40b855
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40b894
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 4], 0x1f4
mov dword [esp], 0
mov dword [ebp - 0x158], 1
call dword [0x450790]
sub esp, 8
mov ecx, dword [0x44f0cc]
mov ebx, dword [0x44f0d0]
jmp 0x40acc5
mov eax, dword [ebp - 0x34]
mov esi, esi
lea edi, [edi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 1
call dword [0x450660]
jmp 0x40b855
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp], 0
mov dword [ebp - 0x158], 1
call dword [0x4507ec]
mov ecx, dword [ebp - 0x17c]
sub esp, 4
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp], 0
call dword [0x450794]
mov ebx, dword [0x450730]
lea ecx, [ebp - 0xb0]
sub esp, 4
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab53
mov dword [esp], 0x449004
mov dword [ebp - 0x178], ebx
call ebx
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0xb8]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov esi, dword [0x4506f4]
mov eax, dword [ecx + 0xd18]
mov dword [esp], ebx
mov dword [ebp - 0x158], 2
mov dword [ebp - 0x174], esi
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0xc0]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab5a
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 3
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0xc8]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xcf8]
mov dword [esp], ebx
mov dword [ebp - 0x158], 4
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0xd0]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44a3b2
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 5
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0xd8]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xcfc]
mov dword [esp], ebx
mov dword [ebp - 0x158], 6
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0xe0]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab5e
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 7
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0xe8]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd00]
mov dword [esp], ebx
mov dword [ebp - 0x158], 8
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0xf0]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab62
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 9
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0xf8]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd04]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0xa
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x100]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab66
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0xb
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x108]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd08]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0xc
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x110]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab6a
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0xd
call dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
lea ebx, [ebp - 0x118]
sub esp, 0x10
mov dword [esp + 8], 0xa
mov eax, dword [ecx + 0xd0c]
mov dword [esp], ebx
mov dword [ebp - 0x158], 0xe
mov dword [esp + 4], eax
call esi
mov dword [esp + 0xc], 0xffffffff
lea ecx, [ebp - 0x120]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44ab6e
mov dword [esp], 0x449004
mov dword [ebp - 0x158], 0xf
call dword [ebp - 0x178]
mov edx, dword [ebp - 0x184]
sub esp, 0x10
mov eax, 0xffffffff
add edx, dword [0x44f0cc]
add edx, 0x30
mov dword [ebp - 0x184], edx
je 0x40bc30
mov dword [esp], edx
call fcn.0042d6e0
mov esi, dword [ebp - 0x184]
lea edx, [ebp - 0x124]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [ebp - 0x158], 0x10
mov dword [esp + 4], esi
call dword [0x4506e8]
mov eax, dword [ebp - 0x124]
mov edx, dword [eax]
mov dword [ebp - 0x11c], eax
test edx, edx
je 0x40bc75
cmp edx, 0xffffffff
je 0x40bc75
lock add dword [eax], 1
setne dl
mov eax, dword [0x4506ec]
lea edi, [ebp - 0x120]
mov dword [ebp - 0x158], 0x42
mov dword [esp], edi
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x184], eax
call eax
mov eax, dword [ebp - 0x11c]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x114], eax
test edx, edx
je 0x40bcbc
cmp edx, 0xffffffff
je 0x40bcbc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x43
lea edx, [ebp - 0x118]
mov dword [esp], edx
lea ecx, [ebp - 0x114]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x114]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x10c], eax
test edx, edx
je 0x40bcfc
cmp edx, 0xffffffff
je 0x40bcfc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x44
lea ecx, [ebp - 0x110]
mov dword [esp], ecx
lea ecx, [ebp - 0x10c]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x10c]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x104], eax
test edx, edx
je 0x40bd3c
cmp edx, 0xffffffff
je 0x40bd3c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x45
lea ebx, [ebp - 0x108]
mov dword [esp], ebx
lea ecx, [ebp - 0x104]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0x104]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xfc], eax
test edx, edx
je 0x40bd7c
cmp edx, 0xffffffff
je 0x40bd7c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x46
lea esi, [ebp - 0x100]
mov dword [esp], esi
lea ecx, [ebp - 0xfc]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xfc]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xf4], eax
test edx, edx
je 0x40bdbc
cmp edx, 0xffffffff
je 0x40bdbc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x47
lea edi, [ebp - 0xf8]
mov dword [esp], edi
lea ecx, [ebp - 0xf4]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xf4]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xec], eax
test edx, edx
je 0x40bdfc
cmp edx, 0xffffffff
je 0x40bdfc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x48
lea eax, [ebp - 0xf0]
mov dword [esp], eax
lea ecx, [ebp - 0xec]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xec]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xe4], eax
test edx, edx
je 0x40be3c
cmp edx, 0xffffffff
je 0x40be3c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x49
lea edx, [ebp - 0xe8]
mov dword [esp], edx
lea ecx, [ebp - 0xe4]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xe4]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xdc], eax
test edx, edx
je 0x40be7c
cmp edx, 0xffffffff
je 0x40be7c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4a
lea ecx, [ebp - 0xe0]
mov dword [esp], ecx
lea ecx, [ebp - 0xdc]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xdc]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xd4], eax
test edx, edx
je 0x40bebc
cmp edx, 0xffffffff
je 0x40bebc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4b
lea ebx, [ebp - 0xd8]
mov dword [esp], ebx
lea ecx, [ebp - 0xd4]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xd4]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xcc], eax
test edx, edx
je 0x40befc
cmp edx, 0xffffffff
je 0x40befc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4c
lea esi, [ebp - 0xd0]
mov dword [esp], esi
lea ecx, [ebp - 0xcc]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xcc]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xc4], eax
test edx, edx
je 0x40bf3c
cmp edx, 0xffffffff
je 0x40bf3c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4d
lea edi, [ebp - 0xc8]
mov dword [esp], edi
lea ecx, [ebp - 0xc4]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xc4]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xbc], eax
test edx, edx
je 0x40bf7c
cmp edx, 0xffffffff
je 0x40bf7c
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4e
lea eax, [ebp - 0xc0]
mov dword [esp], eax
lea ecx, [ebp - 0xbc]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xbc]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xb4], eax
test edx, edx
je 0x40bfbc
cmp edx, 0xffffffff
je 0x40bfbc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x4f
lea edx, [ebp - 0xb8]
mov dword [esp], edx
lea ecx, [ebp - 0xb4]
call dword [ebp - 0x184]
mov eax, dword [ebp - 0xb4]
sub esp, 4
mov edx, dword [eax]
mov dword [ebp - 0xac], eax
test edx, edx
je 0x40bffc
cmp edx, 0xffffffff
je 0x40bffc
lock add dword [eax], 1
setne dl
mov dword [ebp - 0x158], 0x50
lea ecx, [ebp - 0xb0]
mov dword [esp], ecx
lea ecx, [ebp - 0xac]
call dword [ebp - 0x184]
mov dword [ebp - 0x158], 0x20
sub esp, 4
mov dword [esp], 0x18
call fcn.004286b0
lea ebx, [ebp - 0xac]
mov dword [esp + 4], 0
mov ecx, eax
mov dword [esp], ebx
mov dword [ebp - 0x158], 0x21
mov dword [ebp - 0x16c], eax
call dword [0x450804]
mov ecx, dword [ebp - 0x17c]
sub esp, 8
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x16c]
mov dword [esp], 0
mov dword [ebp - 0x158], 0x20
mov dword [esp + 8], eax
call dword [0x4507e8]
mov eax, dword [ebp - 0xac]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
je 0x40d1d2
cmp edx, 0xffffffff
je 0x40c0bc
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40d1cc
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
test edx, edx
je 0x40cc10
cmp edx, 0xffffffff
je 0x40c0e0
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40cc08
mov eax, dword [ebp - 0xbc]
mov edx, dword [eax]
test edx, edx
je 0x40cc43
cmp edx, 0xffffffff
je 0x40c104
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dadf
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax]
test edx, edx
je 0x40cc76
cmp edx, 0xffffffff
je 0x40c128
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40daea
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
test edx, edx
je 0x40cca9
cmp edx, 0xffffffff
je 0x40c14c
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40daf5
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax]
test edx, edx
je 0x40ccdc
cmp edx, 0xffffffff
je 0x40c170
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db00
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
test edx, edx
je 0x40cd0f
cmp edx, 0xffffffff
je 0x40c194
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db0b
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
test edx, edx
je 0x40cd42
cmp edx, 0xffffffff
je 0x40c1b8
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db16
mov eax, dword [ebp - 0xec]
mov edx, dword [eax]
test edx, edx
je 0x40cd75
cmp edx, 0xffffffff
je 0x40c1dc
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db21
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax]
test edx, edx
je 0x40cda8
cmp edx, 0xffffffff
je 0x40c200
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db2c
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax]
test edx, edx
je 0x40cddb
cmp edx, 0xffffffff
je 0x40c224
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db37
mov eax, dword [ebp - 0x104]
mov edx, dword [eax]
test edx, edx
je 0x40ce0e
cmp edx, 0xffffffff
je 0x40c248
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db42
mov eax, dword [ebp - 0x10c]
mov edx, dword [eax]
test edx, edx
je 0x40ce41
cmp edx, 0xffffffff
je 0x40c26c
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db4d
mov eax, dword [ebp - 0x114]
mov edx, dword [eax]
test edx, edx
je 0x40ce74
cmp edx, 0xffffffff
je 0x40c290
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db58
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
test edx, edx
je 0x40cea7
cmp edx, 0xffffffff
je 0x40c2b4
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db63
mov eax, dword [ebp - 0x124]
mov edx, dword [eax]
test edx, edx
je 0x40ceda
cmp edx, 0xffffffff
je 0x40c2d8
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db6e
mov eax, dword [ebp - 0x120]
mov edx, dword [eax]
test edx, edx
je 0x40cf0d
cmp edx, 0xffffffff
je 0x40c2fc
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db79
mov eax, dword [ebp - 0x118]
mov edx, dword [eax]
test edx, edx
je 0x40cf40
cmp edx, 0xffffffff
je 0x40c320
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db84
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
test edx, edx
je 0x40cf73
cmp edx, 0xffffffff
je 0x40c344
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db8f
mov eax, dword [ebp - 0x108]
mov edx, dword [eax]
test edx, edx
je 0x40cfa6
cmp edx, 0xffffffff
je 0x40c368
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40db9a
mov eax, dword [ebp - 0x100]
mov edx, dword [eax]
test edx, edx
je 0x40cfd9
cmp edx, 0xffffffff
je 0x40c38c
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dba5
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax]
test edx, edx
je 0x40d00c
cmp edx, 0xffffffff
je 0x40c3b0
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbb0
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax]
test edx, edx
je 0x40d03f
cmp edx, 0xffffffff
je 0x40c3d4
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbbb
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
test edx, edx
je 0x40d072
cmp edx, 0xffffffff
je 0x40c3f8
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbc6
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax]
test edx, edx
je 0x40d0a5
cmp edx, 0xffffffff
je 0x40c41c
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbd1
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
test edx, edx
je 0x40d0d8
cmp edx, 0xffffffff
je 0x40c440
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbdc
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
test edx, edx
je 0x40d10b
cmp edx, 0xffffffff
je 0x40c464
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbe7
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
test edx, edx
je 0x40d13e
cmp edx, 0xffffffff
je 0x40c488
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbf2
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax]
test edx, edx
je 0x40d171
cmp edx, 0xffffffff
je 0x40c4ac
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dbfd
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
test edx, edx
je 0x40d1a4
cmp edx, 0xffffffff
je 0x40c4d0
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x40dc08
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
test edx, edx
je 0x40b8a0
cmp edx, 0xffffffff
je 0x40b855
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x40b855
mov eax, dword [ebp - 0xb0]
jmp 0x40b8a0
mov eax, dword [ebp - 0x44]
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x23
call dword [0x450660]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
test edx, edx
jne 0x40b828
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x22
call dword [0x450660]
jmp 0x40b83c
mov eax, dword [ebp - 0x4c]
nop
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x24
call dword [0x450660]
jmp 0x40b7fa
mov eax, dword [ebp - 0x30]
nop
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3f
call dword [0x450660]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
test edx, edx
jne 0x40b46e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3e
call dword [0x450660]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
test edx, edx
jne 0x40b48f
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3d
call dword [0x450660]
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
test edx, edx
jne 0x40b4b0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3c
call dword [0x450660]
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
test edx, edx
jne 0x40b4d1
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3b
call dword [0x450660]
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
test edx, edx
jne 0x40b4f2
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x3a
call dword [0x450660]
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
test edx, edx
jne 0x40b513
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x39
call dword [0x450660]
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
test edx, edx
jne 0x40b534
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x38
call dword [0x450660]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
test edx, edx
jne 0x40b555
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x37
call dword [0x450660]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
test edx, edx
jne 0x40b576
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x36
call dword [0x450660]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
test edx, edx
jne 0x40b597
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x35
call dword [0x450660]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
test edx, edx
jne 0x40b5bb
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x34
call dword [0x450660]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
test edx, edx
jne 0x40b5df
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x33
call dword [0x450660]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
jne 0x40b603
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x32
call dword [0x450660]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
jne 0x40b627
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x31
call dword [0x450660]
mov eax, dword [ebp - 0xa8]
mov edx, dword [eax]
test edx, edx
jne 0x40b64b
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x30
call dword [0x450660]
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
test edx, edx
jne 0x40b66f
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2f
call dword [0x450660]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
jne 0x40b693
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2e
call dword [0x450660]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
test edx, edx
jne 0x40b6b7
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2d
call dword [0x450660]
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax]
test edx, edx
jne 0x40b6db
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2c
call dword [0x450660]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
test edx, edx
jne 0x40b6ff
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2b
call dword [0x450660]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
test edx, edx
jne 0x40b720
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x2a
call dword [0x450660]
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
test edx, edx
jne 0x40b741
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x29
call dword [0x450660]
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
test edx, edx
jne 0x40b762
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x28
call dword [0x450660]
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
test edx, edx
jne 0x40b783
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x27
call dword [0x450660]
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
test edx, edx
jne 0x40b7a4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x26
call dword [0x450660]
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
test edx, edx
jne 0x40b7c5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x25
call dword [0x450660]
jmp 0x40b7d9
mov ecx, dword [ebp - 0x17c]
add dword [ebp - 0x168], 1
mov ebx, dword [ebp - 0x160]
movzx eax, byte [ecx + 0xcdd]
add dword [ebp - 0x164], ebx
cmp eax, dword [ebp - 0x168]
ja 0x40abe4
mov ebx, dword [ebp - 0x24]
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edi, dword [0x44f038]
sub esi, ebx
sar esi, 3
test esi, esi
je 0x40cb31
mov edx, dword [ebx + eax*8]
movzx ecx, byte [ebx + eax*8 + 4]
add eax, 1
lea edx, [edx + edx*2]
shl edx, 2
add edx, dword [edi + 0xb4]
cmp eax, esi
mov byte [edx + 8], cl
jne 0x40cb13
mov ebx, dword [edi + 0xb4]
mov dword [ebp - 0x178], ebx
mov ebx, dword [edi + 0xb8]
mov eax, ebx
sub eax, dword [ebp - 0x178]
sar eax, 2
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x40d27f
mov ecx, dword [edi + 0xd0]
xor edx, edx
mov dword [ebp - 0x184], 0
mov esi, dword [edi + 0xcc]
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x180], ecx
mov ecx, dword [ebp - 0x180]
xor edx, edx
xor eax, eax
sub ecx, esi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
test ecx, ecx
je 0x40d254
mov dword [ebp - 0x178], edi
jmp 0x40cbc4
mov ecx, dword [ebp - 0x180]
add eax, 1
add edx, 0xc
sub ecx, esi
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp eax, ecx
jae 0x40d23c
mov edi, dword [ebp - 0x178]
lea ecx, [esi + edx]
mov ebx, dword [ebp - 0x174]
add ebx, dword [edi + 0xb4]
mov edi, dword [ebx]
cmp dword [ecx], edi
jne 0x40cba5
mov edi, dword [ebx + 4]
cmp dword [ecx + 4], edi
jne 0x40cba5
movzx ebx, byte [ebx + 8]
mov byte [ecx + 8], bl
mov ebx, dword [ebp - 0x178]
mov edi, dword [ebx + 0xd0]
mov esi, dword [ebx + 0xcc]
mov dword [ebp - 0x180], edi
jmp 0x40cba5
mov eax, dword [ebp - 0xb4]
nop
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1e
call dword [0x450660]
mov eax, dword [ebp - 0xbc]
mov edx, dword [eax]
test edx, edx
jne 0x40c0f0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1d
call dword [0x450660]
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax]
test edx, edx
jne 0x40c114
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1c
call dword [0x450660]
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
test edx, edx
jne 0x40c138
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1b
call dword [0x450660]
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax]
test edx, edx
jne 0x40c15c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1a
call dword [0x450660]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
test edx, edx
jne 0x40c180
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x19
call dword [0x450660]
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
test edx, edx
jne 0x40c1a4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x18
call dword [0x450660]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax]
test edx, edx
jne 0x40c1c8
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x17
call dword [0x450660]
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax]
test edx, edx
jne 0x40c1ec
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x16
call dword [0x450660]
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax]
test edx, edx
jne 0x40c210
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x15
call dword [0x450660]
mov eax, dword [ebp - 0x104]
mov edx, dword [eax]
test edx, edx
jne 0x40c234
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x14
call dword [0x450660]
mov eax, dword [ebp - 0x10c]
mov edx, dword [eax]
test edx, edx
jne 0x40c258
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x13
call dword [0x450660]
mov eax, dword [ebp - 0x114]
mov edx, dword [eax]
test edx, edx
jne 0x40c27c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x12
call dword [0x450660]
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
test edx, edx
jne 0x40c2a0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x11
call dword [0x450660]
mov eax, dword [ebp - 0x124]
mov edx, dword [eax]
test edx, edx
jne 0x40c2c4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x10
call dword [0x450660]
mov eax, dword [ebp - 0x120]
mov edx, dword [eax]
test edx, edx
jne 0x40c2e8
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xf
call dword [0x450660]
mov eax, dword [ebp - 0x118]
mov edx, dword [eax]
test edx, edx
jne 0x40c30c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xe
call dword [0x450660]
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
test edx, edx
jne 0x40c330
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xd
call dword [0x450660]
mov eax, dword [ebp - 0x108]
mov edx, dword [eax]
test edx, edx
jne 0x40c354
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xc
call dword [0x450660]
mov eax, dword [ebp - 0x100]
mov edx, dword [eax]
test edx, edx
jne 0x40c378
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xb
call dword [0x450660]
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax]
test edx, edx
jne 0x40c39c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0xa
call dword [0x450660]
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax]
test edx, edx
jne 0x40c3c0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 9
call dword [0x450660]
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
test edx, edx
jne 0x40c3e4
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 8
call dword [0x450660]
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax]
test edx, edx
jne 0x40c408
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 7
call dword [0x450660]
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
test edx, edx
jne 0x40c42c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 6
call dword [0x450660]
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
test edx, edx
jne 0x40c450
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 5
call dword [0x450660]
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
test edx, edx
jne 0x40c474
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 4
call dword [0x450660]
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax]
test edx, edx
jne 0x40c498
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 3
call dword [0x450660]
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
test edx, edx
jne 0x40c4bc
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 2
call dword [0x450660]
jmp 0x40c4d0
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x158], 0x1f
call dword [0x450660]
jmp 0x40c0bc
mov eax, dword [ebp - 0x164]
add eax, dword [ecx + 0xcec]
mov dword [esp], eax
call fcn.00404d40
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x164]
sub esp, 4
movzx eax, byte [ecx + 0xaf]
add edx, dword [ecx + 0xcec]
movzx edx, byte [edx + eax]
and edx, 1
jmp 0x40ac17
mov edi, dword [ebp - 0x178]
mov eax, dword [edi + 0xb4]
mov ebx, dword [edi + 0xb8]
mov dword [ebp - 0x178], eax
add dword [ebp - 0x184], 1
mov eax, ebx
sub eax, dword [ebp - 0x178]
add dword [ebp - 0x174], 0xc
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp dword [ebp - 0x184], eax
jb 0x40cb80
mov ecx, dword [ebp - 0x17c]
mov dword [esp], 0
mov dword [ebp - 0x158], 1
call fcn.00426390
mov eax, dword [ebp - 0x24]
sub esp, 4
test eax, eax
je 0x40d2ad
mov dword [esp], eax
call fcn.004286a0
lea eax, [ebp - 0x15c]
mov dword [esp], eax
call fcn.00428700
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x158], 1
call fcn.00444890
sub esp, 8
jmp 0x40ac53
mov dword [ecx + 0xce4], 0
xor al, al
jmp 0x40ab95
mov dword [ecx + 0xce4], 3
mov al, 3
jmp 0x40ab95
mov eax, dword [ebp - 0xbc]
jmp 0x40cc43
mov eax, dword [ebp - 0xc4]
jmp 0x40cc76
mov eax, dword [ebp - 0xcc]
jmp 0x40cca9
mov eax, dword [ebp - 0xd4]
jmp 0x40ccdc
mov eax, dword [ebp - 0xdc]
jmp 0x40cd0f
mov eax, dword [ebp - 0xe4]
jmp 0x40cd42
mov eax, dword [ebp - 0xec]
jmp 0x40cd75
mov eax, dword [ebp - 0xf4]
jmp 0x40cda8
mov eax, dword [ebp - 0xfc]
jmp 0x40cddb
mov eax, dword [ebp - 0x104]
jmp 0x40ce0e
mov eax, dword [ebp - 0x10c]
jmp 0x40ce41
mov eax, dword [ebp - 0x114]
jmp 0x40ce74
mov eax, dword [ebp - 0x11c]
jmp 0x40cea7
mov eax, dword [ebp - 0x124]
jmp 0x40ceda
mov eax, dword [ebp - 0x120]
jmp 0x40cf0d
mov eax, dword [ebp - 0x118]
jmp 0x40cf40
mov eax, dword [ebp - 0x110]
jmp 0x40cf73
mov eax, dword [ebp - 0x108]
jmp 0x40cfa6
mov eax, dword [ebp - 0x100]
jmp 0x40cfd9
mov eax, dword [ebp - 0xf8]
jmp 0x40d00c
mov eax, dword [ebp - 0xf0]
jmp 0x40d03f
mov eax, dword [ebp - 0xe8]
jmp 0x40d072
mov eax, dword [ebp - 0xe0]
jmp 0x40d0a5
mov eax, dword [ebp - 0xd8]
jmp 0x40d0d8
mov eax, dword [ebp - 0xd0]
jmp 0x40d10b
mov eax, dword [ebp - 0xc8]
jmp 0x40d13e
mov eax, dword [ebp - 0xc0]
jmp 0x40d171
mov eax, dword [ebp - 0xb8]
jmp 0x40d1a4
mov eax, dword [ebp - 0xa0]
jmp 0x40c84c
mov eax, dword [ebp - 0xa8]
jmp 0x40c87f
mov eax, dword [ebp - 0xa4]
jmp 0x40c8b2
mov eax, dword [ebp - 0x9c]
jmp 0x40c8e5
mov eax, dword [ebp - 0x94]
jmp 0x40c918
mov eax, dword [ebp - 0x8c]
jmp 0x40c94b
mov eax, dword [ebp - 0x84]
jmp 0x40c97e
mov eax, dword [ebp - 0x7c]
jmp 0x40c9ae
mov eax, dword [ebp - 0x74]
jmp 0x40c9de
mov eax, dword [ebp - 0x6c]
jmp 0x40ca0e
mov eax, dword [ebp - 0x64]
jmp 0x40ca3e
mov eax, dword [ebp - 0x5c]
jmp 0x40ca6e
mov eax, dword [ebp - 0x54]
jmp 0x40ca9e
mov eax, dword [ebp - 0x3c]
jmp 0x40c540
mov eax, dword [ebp - 0x60]
jmp 0x40c6c0
mov eax, dword [ebp - 0x68]
jmp 0x40c6f0
mov eax, dword [ebp - 0x70]
jmp 0x40c720
mov eax, dword [ebp - 0x78]
jmp 0x40c750
mov eax, dword [ebp - 0x80]
jmp 0x40c780
mov eax, dword [ebp - 0x88]
jmp 0x40c7b3
mov eax, dword [ebp - 0x90]
jmp 0x40c7e6
mov eax, dword [ebp - 0x98]
jmp 0x40c819
mov eax, dword [ebp - 0x40]
jmp 0x40c600
mov eax, dword [ebp - 0x48]
jmp 0x40c630
mov eax, dword [ebp - 0x50]
jmp 0x40c660
mov eax, dword [ebp - 0x58]
jmp 0x40c690
mov eax, dword [ebp - 0x38]
jmp 0x40c5d0