Function at 0x4361e0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dbd79
mov eax, dword fs:[0]
push eax
sub esp, 0x1f4
mov eax, dword [0x6c0fe4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0xe4], 0
mov esi, dword [sym.imp.GDI32.dll_GetViewportOrgEx]
push eax
push dword [edi + 8]
mov dword [ebp - 0xd0], edi
call esi
lea eax, [ebp - 0x1a4]
push eax
push dword [edi + 8]
call dword [sym.imp.GDI32.dll_GetViewportExtEx]
mov eax, dword [ebp - 0x1a0]
mov ecx, edi
mov edx, dword [edi]
neg eax
push eax
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x1f0]
push eax
call dword [edx + 0x40]
lea eax, [ebp - 0x1f0]
push eax
push dword [edi + 8]
call esi
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], vtable.CBitmap.0
mov dword [ebp - 4], 0
call fcn.00483956
push 0xa4
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_LoadBitmapW]
push eax
lea ecx, [ebp - 0xf0]
call fcn.004746f1
lea eax, [ebp - 0x68]
push eax
push 0x18
push dword [ebp - 0xec]
call dword [sym.imp.GDI32.dll_GetObjectW]
mov esi, dword [ebp - 0x60]
imul esi, dword [ebp - 0x5c]
push esi
call fcn.005bae81
add esp, 4
mov edi, eax
push edi
push esi
push dword [ebp - 0xec]
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x154]
push 0xcc0020
movd xmm1, edx
cvtdq2pd xmm1, xmm1
push 0
mov dword [ebp - 0xb4], 0x28
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], 0x200001
movd xmm0, esi
mulsd xmm1, qword [0x69c2d8]
mov dword [ebp - 0xa4], 0
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x90], 0
movups xmm2, xmmword [eax + 0x24]
lea eax, [ebp - 0xb4]
divsd xmm1, xmm0
push eax
push edi
push edx
cvttsd2si ecx, xmm1
push esi
mov esi, dword [ebp - 0xd0]
movaps xmm0, xmm2
push 0
push 0
psrldq xmm0, 4
movd eax, xmm0
push ecx
push 0xc8
add eax, ecx
neg eax
push eax
movd eax, xmm2
push eax
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_StretchDIBits]
push edi
call fcn.005bae66
mov eax, dword [esi]
lea ecx, [ebp - 0x1f0]
add esp, 4
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
push ecx
mov ecx, esi
call dword [eax + 0x40]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf0], vtable.CBitmap.0
call fcn.004027c0
lea eax, [ebp - 0x1f8]
mov ecx, esi
push eax
call fcn.00424fd0
movd xmm0, dword [ebp - 0x1f4]
mov ecx, esi
movsd xmm1, qword [0x69c238]
cvtdq2pd xmm0, xmm0
mov edx, dword [esi]
movsd qword [ebp - 0x1f0], xmm1
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x1f8]
cvtdq2pd xmm0, xmm0
push eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
lea eax, [ebp - 0xf0]
push eax
call dword [edx + 0x48]
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x154]
lea ecx, [edi + 0xf68]
movsd xmm1, qword [ebp - 0x1f0]
push ecx
movups xmm0, xmmword [eax + 0x24]
movups xmmword [ecx], xmm0
movd xmm0, dword [edi + 0xf6c]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ecx]
cvtdq2pd xmm0, xmm0
mov dword [edi + 0xf6c], eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [edi + 0xf70]
cvtdq2pd xmm0, xmm0
mov dword [ecx], eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [edi + 0xf74]
cvtdq2pd xmm0, xmm0
mov dword [edi + 0xf70], eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [edi + 0xf74], eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [edi + 0xf6c]
lea ecx, [ebp - 0x200]
push 0
push 2
push 0
mov dword [edi + 0xf8c], eax
call fcn.00473d81
mov edx, dword [ebp - 0x154]
or edi, 0xffffffff
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 4], 1
mov ecx, dword [edx + 0x14]
cmp ecx, dword [eax + 0xf9c]
ja 0x438321
cmp byte [eax + 0xfd8], 0
jne 0x436529
cmp dword [edx + 8], 0
je 0x438321
mov eax, dword [esi]
mov ecx, esi
push 0x6c1c5c
call dword [eax + 0x28]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [0x6e3f7c]
cmp ecx, dword [eax + 0xd0]
jae 0x436554
mov eax, dword [eax + 0xcc]
mov eax, dword [eax + ecx*4]
jmp 0x436556
xor eax, eax
mov dword [ebp - 0xe8], eax
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xe8]
mov byte [ebp - 4], 2
test edx, edx
je 0x4365c5
test edx, 0xffff0000
jne 0x4365a2
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x4365d4
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xc0], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4365b0
sub ecx, dword [ebp - 0xc0]
sar ecx, 1
jmp 0x4365c7
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x62168c
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 4
mov ecx, dword [0x6e3f78]
add ecx, 0x68
push ecx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 5
push eax
call fcn.0040bda0
add esp, 0x24
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc8]
mov byte [ebp - 4], 6
mov edx, dword [0x6e3f7c]
cmp edx, dword [eax + 0xe0]
jae 0x43664d
mov ecx, dword [eax + 0xdc]
mov ecx, dword [ecx + edx*4]
jmp 0x43664f
xor ecx, ecx
push ecx
push dword [ebp - 0xc0]
lea eax, [ebp - 0xc4]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 7
mov ecx, dword [0x6e3f78]
add ecx, 4
push ecx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0040bda0
add esp, 0x18
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x20]
mov eax, dword [eax]
mov edx, dword [esi]
push 1
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 7
mov ecx, edi
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0xc0], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4366c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, edi
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4366e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, edi
mov edx, dword [ebp - 0xcc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436702
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436723
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, edi
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436744
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436765
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0xc0]
add ecx, 0x1e
add dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xc8]
cmp ecx, dword [eax + 0xfa0]
jb 0x436791
cmp ecx, 1
jne 0x4368dc
mov esi, dword [0x6e3f7c]
cmp esi, dword [eax + 0xf0]
jae 0x4367aa
mov eax, dword [eax + 0xec]
mov esi, dword [eax + esi*4]
jmp 0x4367ac
xor esi, esi
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 9
test esi, esi
je 0x436802
test esi, 0xffff0000
jne 0x4367ec
movzx eax, si
lea ecx, [ebp - 0xbc]
push eax
call fcn.0040c0b0
jmp 0x436811
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4367f1
sub ecx, edx
sar ecx, 1
jmp 0x436804
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0xbc]
call fcn.0040c5e0
mov ecx, dword [ebp - 0xd0]
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0xbc]
push 0
mov eax, dword [ecx]
push edx
push dword [esi - 0xc]
mov eax, dword [eax + 0x68]
push esi
call eax
mov dword [ebp - 0xc0], eax
add esi, 0xfffffff0
mov byte [ebp - 4], 1
mov ecx, edi
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x436859
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xc0]
add dword [ebp - 0x1c], eax
lea eax, [ebp - 0x200]
mov esi, dword [ebp - 0xd0]
mov ecx, esi
push eax
call fcn.00474eda
mov eax, dword [ebp - 0x1c]
mov ecx, esi
add eax, 5
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00474b9a
push dword [ebp - 0x1c]
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00474b65
mov eax, dword [esi]
mov ecx, esi
add dword [ebp - 0x1c], 5
push 0x6c1d54
call dword [eax + 0x28]
mov eax, dword [0x6e3f78]
lea ecx, [ebp - 0x20]
add dword [ebp - 0x20], 0x1e
mov edx, dword [esi]
push 0x40000
mov eax, dword [eax + 0x8c]
push ecx
mov ecx, esi
push dword [eax - 0xc]
push eax
mov eax, dword [edx + 0x68]
call eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x1e
add eax, ecx
sub dword [ebp - 0x20], 0x1e
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x154]
mov edi, dword [ebp - 0xc8]
mov eax, dword [eax + 0x14]
cmp eax, dword [edi + 0xfa0]
jne 0x438316
mov eax, dword [esi]
mov ecx, esi
push 0x6c1c5c
call dword [eax + 0x28]
mov esi, dword [0x6e3f7c]
cmp esi, dword [edi + 0x100]
jae 0x43691c
mov eax, dword [edi + 0xfc]
mov esi, dword [eax + esi*4]
jmp 0x43691e
xor esi, esi
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0xb
test esi, esi
je 0x436974
test esi, 0xffff0000
jne 0x43695e
movzx eax, si
lea ecx, [ebp - 0xbc]
push eax
call fcn.0040c0b0
jmp 0x436983
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436963
sub ecx, edx
sar ecx, 1
jmp 0x436976
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0xbc]
call fcn.0040c5e0
mov edi, dword [ebp - 0xd0]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0xbc]
push 0
mov eax, dword [edi]
push ecx
push dword [esi - 0xc]
mov ecx, edi
mov eax, dword [eax + 0x68]
push esi
call eax
lea edx, [esi - 0x10]
mov dword [ebp - 0xc0], eax
or esi, 0xffffffff
mov byte [ebp - 4], 1
mov ecx, esi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4369ca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc0]
add ecx, 5
add eax, ecx
mov ecx, edi
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00474b9a
push dword [ebp - 0x1c]
mov ecx, edi
push dword [ebp - 0x18]
call fcn.00474b65
mov eax, dword [edi]
mov ecx, edi
add dword [ebp - 0x1c], 5
push 0x6c1d54
call dword [eax + 0x28]
add dword [ebp - 0x20], 0x1e
cmp dword [0x6e3f7c], 0
setne al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0xd4]
push eax
call fcn.004170c0
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x110]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
push eax
call fcn.00416bb0
mov dword [ebp - 0xe0], eax
mov eax, dword [0x6e3f78]
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 0xf
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe4], 4
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
push dword [eax + 0x100]
lea eax, [ebp - 0xbc]
push 0x690708
push eax
call fcn.0040c930
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
call fcn.004140b0
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x10
push eax
call fcn.004144b0
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x11
push eax
call fcn.00413fa0
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x12
push eax
call fcn.00413ea0
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x13
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1ccc]
jae 0x436b1d
mov ecx, dword [0x6c1cc8]
mov ecx, dword [ecx + edx*4]
jmp 0x436b1f
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xe8]
mov byte [ebp - 4], 0x14
test edx, edx
je 0x436b8b
test edx, 0xffff0000
jne 0x436b6b
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x436b9a
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xc0], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436b76
sub ecx, dword [ebp - 0xc0]
sar ecx, 1
jmp 0x436b8d
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x16
mov ecx, dword [0x6e3f78]
add ecx, 0x5c
push ecx
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x17
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 0x18
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b44]
jae 0x436c07
mov ecx, dword [0x6c1b40]
mov ecx, dword [ecx + edx*4]
jmp 0x436c09
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x19
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x1a
mov ecx, dword [0x6e3f78]
add ecx, 0x64
push ecx
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x1b
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x1c
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1abc]
jae 0x436c7e
mov ecx, dword [0x6c1ab8]
mov ecx, dword [ecx + edx*4]
jmp 0x436c80
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0x1d
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x1e
push dword [ebp - 0x150]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x1f
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x20
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bd4]
jae 0x436cf1
mov ecx, dword [0x6c1bd0]
mov ecx, dword [ecx + edx*4]
jmp 0x436cf3
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x21
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x22
push dword [ebp - 0xc4]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x23
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x24
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c54]
jae 0x436d64
mov ecx, dword [0x6c1c50]
mov ecx, dword [ecx + edx*4]
jmp 0x436d66
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x25
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x26
push dword [ebp - 0xcc]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0x27
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x28
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1acc]
jae 0x436dd7
mov ecx, dword [0x6c1ac8]
mov ecx, dword [ecx + edx*4]
jmp 0x436dd9
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 0x29
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x2a
push dword [ebp - 0xdc]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x2b
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x2c
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c04]
jae 0x436e4a
mov ecx, dword [0x6c1c00]
mov ecx, dword [ecx + edx*4]
jmp 0x436e4c
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x2d
push eax
call fcn.0040bda0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x2e
push ecx
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x30
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1d2c]
jae 0x436ebe
mov ecx, dword [0x6c1d28]
mov ecx, dword [ecx + edx*4]
jmp 0x436ec0
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x31
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x32
push dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x33
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x34
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1be4]
jae 0x436f31
mov ecx, dword [0x6c1be0]
mov ecx, dword [ecx + edx*4]
jmp 0x436f33
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0x35
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x36
push dword [ebp - 0xd8]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0x37
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x20]
mov eax, dword [eax]
mov edx, dword [edi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, edi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 0x37
mov ecx, esi
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0xc0], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x436fc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov eax, esi
mov edx, dword [ebp - 0x1bc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436fe8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x35
mov eax, esi
mov edx, dword [ebp - 0x1c0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437009
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x34
mov eax, esi
mov edx, dword [ebp - 0x1c4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43702a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x33
mov eax, esi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43704b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x32
mov eax, esi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43706c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x31
mov eax, esi
mov edx, dword [ebp - 0x194]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43708d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov eax, esi
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4370ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2f
mov eax, esi
mov edx, dword [ebp - 0x18c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4370cf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
mov eax, esi
mov edx, dword [ebp - 0x188]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4370f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov eax, esi
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437111
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2c
mov eax, esi
mov edx, dword [ebp - 0x180]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437132
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
mov eax, esi
mov edx, dword [ebp - 0x17c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437153
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2a
mov eax, esi
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437174
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x29
mov eax, esi
mov edx, dword [ebp - 0x174]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437195
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x28
mov eax, esi
mov edx, dword [ebp - 0x164]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4371b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x27
mov eax, esi
mov edx, dword [ebp - 0x160]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4371d7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov eax, esi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4371f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov eax, esi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437219
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov eax, esi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43723a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov eax, esi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43725b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x22
mov eax, esi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43727c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
mov eax, esi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43729d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
mov eax, esi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4372be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1f
mov eax, esi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4372df
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov eax, esi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437300
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov eax, esi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437321
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov eax, esi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437342
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov eax, esi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437363
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, esi
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437384
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, esi
mov edx, dword [ebp - 0x14c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4373a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, esi
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4373c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, esi
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4373e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, esi
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437408
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov eax, esi
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437429
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov eax, esi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43744a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x12
mov eax, esi
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43746b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov eax, esi
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43748c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, esi
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4374ad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, esi
mov edx, dword [ebp - 0x10c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4374ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, esi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4374ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, esi
mov edx, dword [ebp - 0x110]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437510
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, esi
mov edx, dword [ebp - 0xd4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437531
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xc0]
mov ecx, edi
add dword [ebp - 0x1c], eax
mov eax, dword [edi]
sub dword [ebp - 0x20], 0x1e
push 0x6c1c5c
call dword [eax + 0x28]
mov eax, dword [ebp - 0xc8]
mov esi, dword [0x6e3f7c]
cmp esi, dword [eax + 0x110]
jae 0x437569
mov eax, dword [eax + 0x10c]
mov esi, dword [eax + esi*4]
jmp 0x43756b
xor esi, esi
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b883
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0x39
test esi, esi
je 0x4375c1
test esi, 0xffff0000
jne 0x4375ab
movzx eax, si
lea ecx, [ebp - 0xbc]
push eax
call fcn.0040c0b0
jmp 0x4375d0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4375b0
sub ecx, edx
sar ecx, 1
jmp 0x4375c3
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0xbc]
call fcn.0040c5e0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x20]
mov esi, dword [ebp - 0xbc]
mov eax, dword [edi]
push 0
push ecx
push dword [esi - 0xc]
mov eax, dword [eax + 0x68]
mov ecx, edi
push esi
call eax
or edi, 0xffffffff
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 1
add esi, 0xfffffff0
mov ecx, edi
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x437611
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd0]
add ecx, 5
add eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00474b9a
push dword [ebp - 0x1c]
mov ecx, esi
push dword [ebp - 0x18]
call fcn.00474b65
mov eax, dword [esi]
mov ecx, esi
add dword [ebp - 0x1c], 5
push 0x6c1d54
call dword [eax + 0x28]
add dword [ebp - 0x20], 0x1e
cmp dword [0x6e3f7c], 0
setne al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0x198]
push eax
call fcn.00415df0
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x1b0]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004155d0
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x1a8]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004151c0
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x1d4]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004159e0
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x1e4]
mov byte [ebp - 4], 0x3e
push eax
call fcn.00416930
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0x3f
push eax
call fcn.004162c0
mov dword [ebp - 0x100], eax
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x1dc]
push eax
call fcn.00416200
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x41
push eax
call fcn.00414c80
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 0x42
push eax
call fcn.00414ad0
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x43
push eax
call fcn.004149c0
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 0x44
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1cdc]
jae 0x43779e
mov ecx, dword [0x6c1cd8]
mov ecx, dword [ecx + edx*4]
jmp 0x4377a0
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b85b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xe8]
mov byte [ebp - 4], 0x45
test edx, edx
je 0x43780c
test edx, 0xffff0000
jne 0x4377ec
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x43781b
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xd4], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4377f7
sub ecx, dword [ebp - 0xd4]
sar ecx, 1
jmp 0x43780e
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x47
push dword [ebp - 0x110]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x48
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 0x49
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b04]
jae 0x437884
mov ecx, dword [0x6c1b00]
mov ecx, dword [ecx + edx*4]
jmp 0x437886
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x4a
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x4b
push dword [ebp - 0x10c]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 0x4c
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x4d
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c6c]
jae 0x4378f7
mov ecx, dword [0x6c1c68]
mov ecx, dword [ecx + edx*4]
jmp 0x4378f9
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x4e
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x4f
push dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x50
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x51
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bf4]
jae 0x43796a
mov ecx, dword [0x6c1bf0]
mov ecx, dword [ecx + edx*4]
jmp 0x43796c
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0x52
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x53
push dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x54
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x55
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c9c]
jae 0x4379dd
mov ecx, dword [0x6c1c98]
mov ecx, dword [ecx + edx*4]
jmp 0x4379df
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x56
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x57
push dword [ebp - 0x100]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0x58
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x59
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b84]
jae 0x437a50
mov ecx, dword [0x6c1b80]
mov ecx, dword [ecx + edx*4]
jmp 0x437a52
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 0x5a
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x5b
push dword [ebp - 0x138]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x5c
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x5d
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c34]
jae 0x437ac3
mov ecx, dword [0x6c1c30]
mov ecx, dword [ecx + edx*4]
jmp 0x437ac5
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x5e
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x5f
push dword [ebp - 0xfc]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x60
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x61
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1cfc]
jae 0x437b36
mov ecx, dword [0x6c1cf8]
mov ecx, dword [ecx + edx*4]
jmp 0x437b38
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0x62
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x63
push dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x64
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x65
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c24]
jae 0x437ba9
mov ecx, dword [0x6c1c20]
mov ecx, dword [ecx + edx*4]
jmp 0x437bab
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x66
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x67
push dword [ebp - 0xf4]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0x68
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x69
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b14]
jae 0x437c1c
mov ecx, dword [0x6c1b10]
mov ecx, dword [ecx + edx*4]
jmp 0x437c1e
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x6a
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x6b
push dword [ebp - 0x14c]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x6c
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x20]
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 0x6c
mov ecx, edi
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0xd4], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x437cb2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6b
mov eax, edi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437cd3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6a
mov eax, edi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437cf4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x69
mov eax, edi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x68
mov eax, edi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x67
mov eax, edi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d57
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x66
mov eax, edi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x65
mov eax, edi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d99
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x64
mov eax, edi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437dba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x63
mov eax, edi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437ddb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x62
mov eax, edi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437dfc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x61
mov eax, edi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437e1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x60
mov eax, edi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437e3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5f
mov eax, edi
mov edx, dword [ebp - 0x160]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437e5f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5e
mov eax, edi
mov edx, dword [ebp - 0x164]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437e80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5d
mov eax, edi
mov edx, dword [ebp - 0x174]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437ea1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5c
mov eax, edi
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437ec2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5b
mov eax, edi
mov edx, dword [ebp - 0x17c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437ee3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5a
mov eax, edi
mov edx, dword [ebp - 0x180]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x59
mov eax, edi
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f25
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x58
mov eax, edi
mov edx, dword [ebp - 0x188]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f46
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x57
mov eax, edi
mov edx, dword [ebp - 0x18c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f67
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, edi
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x55
mov eax, edi
mov edx, dword [ebp - 0x194]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437fa9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov eax, edi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437fca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x53
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437feb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x52
mov eax, edi
mov edx, dword [ebp - 0x1c4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43800c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x51
mov eax, edi
mov edx, dword [ebp - 0x1c0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43802d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x50
mov eax, edi
mov edx, dword [ebp - 0x1bc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43804e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4f
mov eax, edi
mov edx, dword [ebp - 0x1b8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43806f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4e
mov eax, edi
mov edx, dword [ebp - 0xc0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438090
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4d
mov eax, edi
mov edx, dword [ebp - 0x150]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4380b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4c
mov eax, edi
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4380d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4b
mov eax, edi
mov edx, dword [ebp - 0xcc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4380f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4a
mov eax, edi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438114
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x49
mov eax, edi
mov edx, dword [ebp - 0xe4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438135
add edi, 0xf98
jmp 0x43b711
lea edx, [eax + 0xf98]
mov dword [ebp - 0xe8], edx
cmp ecx, dword [edx]
jne 0x439c11
cmp byte [eax + 0xfda], 0
jne 0x43834e
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 8], 0
je 0x439c17
push ecx
push esi
mov ecx, eax
call fcn.00432f70
mov eax, dword [esi]
mov ecx, esi
push 0x6c1d44
call dword [eax + 0x28]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xf8c]
add eax, 0xf
cmp dword [0x6e3f7c], 0
mov dword [ebp - 0x1c], eax
movups xmm0, xmmword [ebp - 0x20]
setne al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0x1c4]
push eax
movups xmmword [ebp - 0x40], xmm0
call fcn.004170c0
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 0x6e
lea eax, [ebp - 0x158]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
push eax
call fcn.00416bb0
mov dword [ebp - 0x1cc], eax
mov eax, dword [0x6e3f78]
mov dword [ebp - 0x198], eax
mov byte [ebp - 4], 0x70
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe4], 2
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x198]
push dword [eax + 0x100]
lea eax, [ebp - 0xbc]
push 0x690708
push eax
call fcn.0040c930
add esp, 0xc
lea eax, [ebp - 0x15c]
push eax
call fcn.004140b0
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x71
push eax
call fcn.004144b0
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x72
push eax
call fcn.00413fa0
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x73
push eax
call fcn.00413ea0
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 0x74
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1ccc]
jae 0x43848c
mov ecx, dword [0x6c1cc8]
mov ecx, dword [ecx + edx*4]
jmp 0x43848e
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0x75
mov edx, dword [ebp - 0xc4]
test edx, edx
je 0x4384fa
test edx, 0xffff0000
jne 0x4384da
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x438509
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x198], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4384e5
sub ecx, dword [ebp - 0x198]
sar ecx, 1
jmp 0x4384fc
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x76
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x77
mov ecx, dword [0x6e3f78]
add ecx, 0x5c
push ecx
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 0x78
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 0x79
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b44]
jae 0x438576
mov ecx, dword [0x6c1b40]
mov ecx, dword [ecx + edx*4]
jmp 0x438578
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0x7a
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x7b
mov ecx, dword [0x6e3f78]
add ecx, 0x64
push ecx
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x7c
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x7d
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1abc]
jae 0x4385ed
mov ecx, dword [0x6c1ab8]
mov ecx, dword [ecx + edx*4]
jmp 0x4385ef
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x7e
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x7f
push dword [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0x80
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x81
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bd4]
jae 0x438660
mov ecx, dword [0x6c1bd0]
mov ecx, dword [ecx + edx*4]
jmp 0x438662
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x82
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x83
push dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x84
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x85
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c54]
jae 0x4386d3
mov ecx, dword [0x6c1c50]
mov ecx, dword [ecx + edx*4]
jmp 0x4386d5
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0x86
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x87
push dword [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x88
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x89
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1acc]
jae 0x438746
mov ecx, dword [0x6c1ac8]
mov ecx, dword [ecx + edx*4]
jmp 0x438748
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x8a
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x8b
push dword [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x8c
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x8d
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c04]
jae 0x4387b9
mov ecx, dword [0x6c1c00]
mov ecx, dword [ecx + edx*4]
jmp 0x4387bb
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0x8e
push eax
call fcn.0040bda0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x8f
push ecx
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x90
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x91
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1d2c]
jae 0x43882d
mov ecx, dword [0x6c1d28]
mov ecx, dword [ecx + edx*4]
jmp 0x43882f
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x92
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x93
push dword [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x94
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x95
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1be4]
jae 0x4388a0
mov ecx, dword [0x6c1be0]
mov ecx, dword [ecx + edx*4]
jmp 0x4388a2
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x96
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x97
push dword [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x98
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 0x98
mov ecx, edi
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0xec], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x438936
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x97
mov eax, edi
mov edx, dword [ebp - 0x16c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438957
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x96
mov eax, edi
mov edx, dword [ebp - 0x168]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438978
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x95
mov eax, edi
mov edx, dword [ebp - 0xd4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438999
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x94
mov eax, edi
mov edx, dword [ebp - 0x110]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4389ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x93
mov eax, edi
mov edx, dword [ebp - 0x10c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4389db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x92
mov eax, edi
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4389fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x91
mov eax, edi
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438a1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x90
mov eax, edi
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438a3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8f
mov eax, edi
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438a5f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8e
mov eax, edi
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438a80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8d
mov eax, edi
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438aa1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8c
mov eax, edi
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438ac2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8b
mov eax, edi
mov edx, dword [ebp - 0x14c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438ae3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8a
mov eax, edi
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438b04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x89
mov eax, edi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438b25
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x88
mov eax, edi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438b46
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x87
mov eax, edi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438b67
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x86
mov eax, edi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438b88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x85
mov eax, edi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438ba9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x84
mov eax, edi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438bca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x83
mov eax, edi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438beb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x82
mov eax, edi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438c0c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x81
mov eax, edi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438c2d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x80
mov eax, edi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438c4e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7f
mov eax, edi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438c6f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7e
mov eax, edi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438c90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7d
mov eax, edi
mov edx, dword [ebp - 0x160]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438cb1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7c
mov eax, edi
mov edx, dword [ebp - 0x164]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438cd2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7b
mov eax, edi
mov edx, dword [ebp - 0x174]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438cf3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7a
mov eax, edi
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438d14
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x79
mov eax, edi
mov edx, dword [ebp - 0x17c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438d35
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x78
mov eax, edi
mov edx, dword [ebp - 0x180]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438d56
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x77
mov eax, edi
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438d77
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x76
mov eax, edi
mov edx, dword [ebp - 0x188]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438d98
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x74
mov eax, edi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438db9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x73
mov eax, edi
mov edx, dword [ebp - 0x18c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438dda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x72
mov eax, edi
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438dfb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x71
mov eax, edi
mov edx, dword [ebp - 0x194]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438e1c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x70
mov eax, edi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438e3d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6f
mov eax, edi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438e5e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6e
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438e7f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x1c4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438ea0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [0x6e3f7c], 0
mov dword [ebp - 0x40], eax
setne al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0x1a0]
push eax
call fcn.00415df0
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0x9a
lea eax, [ebp - 0xd8]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004155d0
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0xe0]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004151c0
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 0x9c
lea eax, [ebp - 0xdc]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
mov ecx, dword [0x6e3f78]
push eax
call fcn.004159e0
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x9d
push eax
call fcn.00416930
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x9e
push eax
call fcn.004162c0
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 0x9f
push eax
call fcn.00416200
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xa0
push eax
call fcn.00414c80
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xa1
push eax
call fcn.00414ad0
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa2
push eax
call fcn.004149c0
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 0xa3
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1cdc]
jae 0x438ff3
mov ecx, dword [0x6c1cd8]
mov ecx, dword [ecx + edx*4]
jmp 0x438ff5
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b865
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0xa4
mov edx, dword [ebp - 0xc4]
test edx, edx
je 0x439065
test edx, 0xffff0000
jne 0x439041
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x439074
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x198], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x439050
sub ecx, dword [ebp - 0x198]
sar ecx, 1
jmp 0x439067
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xa5
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xa6
push dword [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0xa7
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 0xa8
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b04]
jae 0x4390dd
mov ecx, dword [0x6c1b00]
mov ecx, dword [ecx + edx*4]
jmp 0x4390df
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xa9
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xaa
push dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0xab
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xac
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c6c]
jae 0x439150
mov ecx, dword [0x6c1c68]
mov ecx, dword [ecx + edx*4]
jmp 0x439152
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0xad
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xae
push dword [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 0xaf
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xb0
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bf4]
jae 0x4391c3
mov ecx, dword [0x6c1bf0]
mov ecx, dword [ecx + edx*4]
jmp 0x4391c5
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0xb1
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xb2
push dword [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xb3
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xb4
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c9c]
jae 0x439236
mov ecx, dword [0x6c1c98]
mov ecx, dword [ecx + edx*4]
jmp 0x439238
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xb5
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xb6
push dword [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0xb7
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xb8
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b84]
jae 0x4392a9
mov ecx, dword [0x6c1b80]
mov ecx, dword [ecx + edx*4]
jmp 0x4392ab
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xb9
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xba
push dword [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0xbb
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xbc
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c34]
jae 0x43931c
mov ecx, dword [0x6c1c30]
mov ecx, dword [ecx + edx*4]
jmp 0x43931e
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xbd
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xbe
push dword [ebp - 0x170]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0xbf
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xc0
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1cfc]
jae 0x43938f
mov ecx, dword [0x6c1cf8]
mov ecx, dword [ecx + edx*4]
jmp 0x439391
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0xc1
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xc2
push dword [ebp - 0x16c]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xc3
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xc4
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c24]
jae 0x439402
mov ecx, dword [0x6c1c20]
mov ecx, dword [ecx + edx*4]
jmp 0x439404
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0xc5
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xc6
push dword [ebp - 0x168]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xc7
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xc8
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b14]
jae 0x439475
mov ecx, dword [0x6c1b10]
mov ecx, dword [ecx + edx*4]
jmp 0x439477
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xc9
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xca
push dword [ebp - 0xd4]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xcb
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xcc
lea ecx, [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 0xcb
mov ecx, edi
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x198], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x43950b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xca
mov eax, edi
mov edx, dword [ebp - 0x10c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43952c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc9
mov eax, edi
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43954d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc8
mov eax, edi
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43956e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc7
mov eax, edi
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43958f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc6
mov eax, edi
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4395b0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc5
mov eax, edi
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4395d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc4
mov eax, edi
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4395f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc3
mov eax, edi
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439613
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc2
mov eax, edi
mov edx, dword [ebp - 0x14c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439634
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc1
mov eax, edi
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439655
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc0
mov eax, edi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439676
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbf
mov eax, edi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439697
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbe
mov eax, edi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4396b8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbd
mov eax, edi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4396d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbc
mov eax, edi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4396fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xbb
mov eax, edi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43971b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xba
mov eax, edi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43973c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb9
mov eax, edi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43975d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb8
mov eax, edi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43977e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb7
mov eax, edi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43979f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb6
mov eax, edi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4397c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb5
mov eax, edi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4397e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb4
mov eax, edi
mov edx, dword [ebp - 0x160]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439802
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb3
mov eax, edi
mov edx, dword [ebp - 0x164]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439823
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb2
mov eax, edi
mov edx, dword [ebp - 0x174]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439844
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb1
mov eax, edi
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439865
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb0
mov eax, edi
mov edx, dword [ebp - 0x17c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439886
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xaf
mov eax, edi
mov edx, dword [ebp - 0x180]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4398a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xae
mov eax, edi
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4398c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xad
mov eax, edi
mov edx, dword [ebp - 0x188]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4398e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xac
mov eax, edi
mov edx, dword [ebp - 0x18c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43990a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xab
mov eax, edi
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43992b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xaa
mov eax, edi
mov edx, dword [ebp - 0x194]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43994c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa9
mov eax, edi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43996d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa8
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43998e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa7
mov eax, edi
mov edx, dword [ebp - 0x1c4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4399af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa6
mov eax, edi
mov edx, dword [ebp - 0x1c0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4399d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa5
mov eax, edi
mov edx, dword [ebp - 0x1bc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4399f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa3
mov eax, edi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439a12
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa2
mov eax, edi
mov edx, dword [ebp - 0x1b8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439a33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa1
mov eax, edi
mov edx, dword [ebp - 0xc0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439a54
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa0
mov eax, edi
mov edx, dword [ebp - 0x150]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439a75
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9f
mov eax, edi
mov edx, dword [ebp - 0xcc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439a96
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9e
mov eax, edi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439ab7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9d
mov eax, edi
mov edx, dword [ebp - 0xe4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439ad8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9c
mov eax, edi
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439af9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9b
mov eax, edi
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439b1a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9a
mov eax, edi
mov edx, dword [ebp - 0xd8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439b3b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x1a0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x439b5c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x198]
cmp dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0x3c]
cmovg ecx, dword [ebp - 0xec]
add eax, ecx
cmp dword [edi + 0x828], 0
mov dword [ebp - 0x3c], eax
lea ecx, [edi + 0x6f8]
mov dword [edi + 0x804], eax
mov eax, dword [edi + 0xf68]
mov dword [edi + 0x800], eax
mov eax, dword [edi + 0xf70]
mov dword [edi + 0x808], eax
mov eax, dword [edi + 0xf74]
mov dword [edi + 0x80c], eax
jle 0x439bf6
mov dword [ebp - 0xec], ecx
xor esi, esi
nop
mov eax, dword [edi + 0x824]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x5c], 1
mov eax, dword [edi + 0x824]
push dword [eax + esi*4]
call fcn.0040a2f0
inc esi
lea ecx, [edi + 0x6f8]
cmp esi, dword [edi + 0x828]
jl 0x439bc0
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
mov dword [esi + 0xc], 1
mov eax, dword [ecx]
push esi
call dword [eax + 0x19c]
mov edi, dword [ebp - 0xe8]
jmp 0x43b711
mov ecx, dword [ebp - 0x154]
cmp byte [eax + 0xfd9], 0
jne 0x439c2a
cmp dword [ecx + 8], 0
je 0x43b70f
push ecx
push esi
mov ecx, eax
call fcn.00432f70
mov eax, dword [esi]
mov ecx, esi
push 0x6c1d44
call dword [eax + 0x28]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xf8c]
add eax, 0xf
cmp dword [0x6e3f7c], 0
mov dword [ebp - 0x1c], eax
movups xmm0, xmmword [ebp - 0x20]
setne al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0x15c]
push eax
movups xmmword [ebp - 0x40], xmm0
call fcn.004170c0
mov dword [ebp - 0x1e4], eax
mov byte [ebp - 4], 0xcd
lea eax, [ebp - 0x194]
cmp dword [0x6e3f7c], 0
setne cl
movzx ecx, cl
push ecx
push ecx
push eax
call fcn.00416bb0
mov dword [ebp - 0x1d4], eax
mov eax, dword [0x6e3f78]
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 0xcf
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xec]
push dword [eax + 0x100]
lea eax, [ebp - 0xbc]
push 0x690708
push eax
call fcn.0040c930
add esp, 0xc
lea eax, [ebp - 0x190]
push eax
call fcn.004140b0
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xd0
push eax
call fcn.004144b0
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0xd1
push eax
call fcn.00413fa0
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0xd2
push eax
call fcn.00413ea0
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 0xd3
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1ccc]
jae 0x439d68
mov ecx, dword [0x6c1cc8]
mov ecx, dword [ecx + edx*4]
jmp 0x439d6a
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0xd4
mov edx, dword [ebp - 0xc4]
test edx, edx
je 0x439dd6
test edx, 0xffff0000
jne 0x439db6
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x439de5
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xec], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x439dc1
sub ecx, dword [ebp - 0xec]
sar ecx, 1
jmp 0x439dd8
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xd5
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xd6
mov ecx, dword [0x6e3f78]
add ecx, 0x5c
push ecx
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x178]
mov byte [ebp - 4], 0xd7
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 0xd8
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b44]
jae 0x439e52
mov ecx, dword [0x6c1b40]
mov ecx, dword [ecx + edx*4]
jmp 0x439e54
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xd9
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xda
mov ecx, dword [0x6e3f78]
add ecx, 0x64
push ecx
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xdb
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xdc
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1abc]
jae 0x439ec9
mov ecx, dword [0x6c1ab8]
mov ecx, dword [ecx + edx*4]
jmp 0x439ecb
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0xdd
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xde
push dword [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xdf
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xe0
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bd4]
jae 0x439f3c
mov ecx, dword [0x6c1bd0]
mov ecx, dword [ecx + edx*4]
jmp 0x439f3e
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0xe1
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xe2
push dword [ebp - 0x198]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0xe3
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xe4
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c54]
jae 0x439faf
mov ecx, dword [0x6c1c50]
mov ecx, dword [ecx + edx*4]
jmp 0x439fb1
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0xe5
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xe6
push dword [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0xe7
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xe8
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1acc]
jae 0x43a022
mov ecx, dword [0x6c1ac8]
mov ecx, dword [ecx + edx*4]
jmp 0x43a024
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xe9
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xea
push dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0xeb
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xec
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c04]
jae 0x43a095
mov ecx, dword [0x6c1c00]
mov ecx, dword [ecx + edx*4]
jmp 0x43a097
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xed
push eax
call fcn.0040bda0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xee
push ecx
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xef
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xf0
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1d2c]
jae 0x43a109
mov ecx, dword [0x6c1d28]
mov ecx, dword [ecx + edx*4]
jmp 0x43a10b
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xf1
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xf2
push dword [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0xf3
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xf4
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1be4]
jae 0x43a17c
mov ecx, dword [0x6c1be0]
mov ecx, dword [ecx + edx*4]
jmp 0x43a17e
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0xf5
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xf6
push dword [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0xf7
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xf8
lea ecx, [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
mov eax, dword [edx + 0x68]
call eax
mov byte [ebp - 4], 0xf7
mov ecx, edi
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x158], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x43a212
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf6
mov eax, edi
mov edx, dword [ebp - 0x1dc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a233
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf5
mov eax, edi
mov edx, dword [ebp - 0x170]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a254
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf4
mov eax, edi
mov edx, dword [ebp - 0x16c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a275
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf3
mov eax, edi
mov edx, dword [ebp - 0x168]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a296
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf2
mov eax, edi
mov edx, dword [ebp - 0xd4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a2b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf1
mov eax, edi
mov edx, dword [ebp - 0x110]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a2d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf0
mov eax, edi
mov edx, dword [ebp - 0x10c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a2f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xef
mov eax, edi
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a31a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xee
mov eax, edi
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a33b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xed
mov eax, edi
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a35c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xec
mov eax, edi
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a37d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xeb
mov eax, edi
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a39e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xea
mov eax, edi
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a3bf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe9
mov eax, edi
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a3e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe8
mov eax, edi
mov edx, dword [ebp - 0x14c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a401
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe7
mov eax, edi
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a422
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe6
mov eax, edi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a443
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe5
mov eax, edi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a464
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe4
mov eax, edi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a485
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe3
mov eax, edi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a4a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe2
mov eax, edi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a4c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe1
mov eax, edi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a4e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe0
mov eax, edi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a509
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xdf
mov eax, edi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a52a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xde
mov eax, edi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a54b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xdd
mov eax, edi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a56c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xdc
mov eax, edi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a58d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xdb
mov eax, edi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a5ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xda
mov eax, edi
mov edx, dword [ebp - 0x160]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a5cf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd9
mov eax, edi
mov edx, dword [ebp - 0x164]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a5f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd8
mov eax, edi
mov edx, dword [ebp - 0x174]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a611
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd7
mov eax, edi
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a632
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd6
mov eax, edi
mov edx, dword [ebp - 0x17c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a653
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd5
mov eax, edi
mov edx, dword [ebp - 0x180]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a674
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd3
mov eax, edi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a695
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd2
mov eax, edi
mov edx, dword [ebp - 0x184]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a6b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd1
mov eax, edi
mov edx, dword [ebp - 0x188]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a6d7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd0
mov eax, edi
mov edx, dword [ebp - 0x18c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a6f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xcf
mov eax, edi
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a719
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xce
mov eax, edi
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a73a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xcd
mov eax, edi
mov edx, dword [ebp - 0x194]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a75b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a77c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x40]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x118]
push eax
call fcn.00416930
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0xf9
push eax
call fcn.004162c0
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0xfa
push eax
call fcn.00416200
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0xfb
push eax
call fcn.00414c80
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xfc
push eax
call fcn.00414ad0
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0xfd
push eax
call fcn.004149c0
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 0xfe
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1cdc]
jae 0x43a827
mov ecx, dword [0x6c1cd8]
mov ecx, dword [ecx + edx*4]
jmp 0x43a829
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b86f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0xff
mov edx, dword [ebp - 0xc4]
test edx, edx
je 0x43a895
test edx, 0xffff0000
jne 0x43a875
movzx eax, dx
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040c0b0
jmp 0x43a8a4
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xec], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43a880
sub ecx, dword [ebp - 0xec]
sar ecx, 1
jmp 0x43a897
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.0040c5e0
push 0x692160
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0x100
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.0040bda0
mov byte [ebp - 4], 1
push dword [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 2
push eax
call fcn.0040bda0
add esp, 0x24
mov byte [ebp - 4], 3
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b04]
jae 0x43a910
mov ecx, dword [0x6c1b00]
mov ecx, dword [ecx + edx*4]
jmp 0x43a912
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 4
push eax
call fcn.0040bda0
mov byte [ebp - 4], 5
push dword [ebp - 0x198]
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 6
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 7
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c6c]
jae 0x43a983
mov ecx, dword [0x6c1c68]
mov ecx, dword [ecx + edx*4]
jmp 0x43a985
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 8
push eax
call fcn.0040bda0
mov byte [ebp - 4], 9
push dword [ebp - 0x1b0]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0xa
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xb
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1bf4]
jae 0x43a9f6
mov ecx, dword [0x6c1bf0]
mov ecx, dword [ecx + edx*4]
jmp 0x43a9f8
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xc
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0xd
push dword [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xe
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0xf
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1c9c]
jae 0x43aa69
mov ecx, dword [0x6c1c98]
mov ecx, dword [ecx + edx*4]
jmp 0x43aa6b
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x10
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x11
push dword [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x12
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x13
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1b84]
jae 0x43aadc
mov ecx, dword [0x6c1b80]
mov ecx, dword [ecx + edx*4]
jmp 0x43aade
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.0040bda0
push 0x692160
push eax
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x14
push eax
call fcn.0040bda0
mov byte [ebp - 4], 0x15
push dword [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.0040bf30
push 0x62168c
push eax
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0x16
push eax
call fcn.0040bda0
add esp, 0x30
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [esi]
push 0
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
call dword [edx + 0x68]
mov byte [ebp - 4], 0x16
mov eax, edi
mov edx, dword [ebp - 0x1cc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ab6a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov eax, edi
mov edx, dword [ebp - 0x1dc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ab8b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov eax, edi
mov edx, dword [ebp - 0x170]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43abac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov eax, edi
mov edx, dword [ebp - 0x16c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43abcd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x12
mov eax, edi
mov edx, dword [ebp - 0x168]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43abee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov eax, edi
mov edx, dword [ebp - 0xd4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac0f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, edi
mov edx, dword [ebp - 0x110]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac30
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, edi
mov edx, dword [ebp - 0x10c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac51
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, edi
mov edx, dword [ebp - 0x108]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac72
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, edi
mov edx, dword [ebp - 0x104]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac93
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov eax, edi
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43acb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x138]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43acd5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, edi
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43acf6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, edi
mov edx, dword [ebp - 0xf8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, edi
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad38
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov eax, edi
mov edx, dword [ebp - 0x14c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad59
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, edi
mov edx, dword [ebp - 0x148]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, edi
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad9b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x140]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43adbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, edi
mov edx, dword [ebp - 0x13c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43addd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, edi
mov edx, dword [ebp - 0x114]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43adfe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x134]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ae1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, edi
mov edx, dword [ebp - 0x130]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ae40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xfe
mov eax, edi
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ae64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xfd
mov eax, edi
mov edx, dword [ebp - 0x12c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ae85
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xfc
mov eax, edi
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43aea6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xfb
mov eax, edi
mov edx, dword [ebp - 0x124]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43aec7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xfa
mov eax, edi
mov edx, dword [ebp - 0x120]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43aee8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf9
mov eax, edi
mov edx, dword [ebp - 0x11c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43af09
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, edi
mov edx, dword [ebp - 0x118]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43af2a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x158]
lea ecx, [ebp - 0x1c8]
add dword [ebp - 0x3c], eax
push 0x969696
push 1
push 0
call fcn.00473d81
mov dword [ebp - 4], pe_nt_image_headers32
mov ecx, esi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.00474eda
add dword [ebp - 0x3c], 4
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b879
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0xe4], edi
mov ecx, dword [ebp - 0xc8]
mov byte [ebp - 4], 0x19
mov eax, dword [ecx + 0xfa4]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x43b6cf
lea eax, [ecx + 0xfa8]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x150], eax
mov eax, dword [ecx + 0xfd0]
sub eax, dword [ecx + 0xfcc]
mov ecx, dword [ebp - 0x150]
cdq
idiv dword [ecx]
cmp eax, 1
lea ecx, [eax - 1]
cmovle ecx, eax
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xec]
test ecx, ecx
jle 0x43b6cf
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0x154]
mov eax, dword [edx + 0xfac]
mov esi, dword [esi + 0x14]
sub esi, dword [edx + 0xf9c]
dec esi
imul esi, ecx
mov ecx, esi
mov dword [ebp - 0xd8], esi
add ecx, dword [ebp - 0xbc]
imul ecx, eax
mov dword [ebp - 0xd8], ecx
mov ecx, dword [0x6e3f78]
mov esi, dword [ebp - 0xd8]
add esi, dword [ecx + 0xd0]
mov ecx, esi
mov dword [ebp - 0xd8], esi
mov esi, dword [ebp - 0xd0]
dec ecx
add eax, ecx
mov dword [ebp - 0xe0], eax
mov eax, dword [0x6e3f78]
mov ecx, dword [eax + 0xd4]
cmp ecx, 0xffffffff
jne 0x43b061
mov ecx, dword [eax + 0x100]
dec ecx
cmp dword [ebp - 0xe0], ecx
jle 0x43b083
mov ecx, dword [eax + 0xd4]
cmp ecx, 0xffffffff
jne 0x43b07b
mov ecx, dword [eax + 0x100]
dec ecx
mov dword [ebp - 0xe0], ecx
jmp 0x43b089
mov ecx, dword [ebp - 0xe0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
cmp dword [ebp - 0xd8], ecx
jg 0x43b6b4
mov ecx, dword [edx + 0xfd0]
imul ecx, dword [ebp - 0xbc]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0xb8], ecx
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
cmp dword [eax + 0xdc], ecx
jl 0x43b642
cmp ecx, 2
jle 0x43b0e7
mov eax, dword [eax + 0xe0]
add eax, 3
cmp ecx, eax
mov eax, dword [0x6e3f78]
jge 0x43b0e7
cmp byte [ecx + eax + 0xd5], 0
jne 0x43b101
cmp ecx, 3
jl 0x43b0fd
mov eax, dword [eax + 0xe0]
add eax, 2
cmp ecx, eax
jle 0x43b624
test ecx, ecx
je 0x43b14b
lea eax, [ecx - 1]
mov ecx, dword [0x6e3f78]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.004175d0
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1a
call fcn.0040fe50
mov byte [ebp - 4], 0x19
or eax, 0xffffffff
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43b192
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x43b192
mov edx, dword [0x6e3f7c]
cmp edx, dword [0x6c1ba4]
jae 0x43b181
mov eax, dword [0x6c1ba0]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x43b183
mov ecx, edx
lea edi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43b170
sub ecx, edi
sar ecx, 1
jmp 0x43b185
xor edx, edx
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0xe4]
call fcn.0040c5e0
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0x2c], ecx
mov eax, dword [edx + 0xfd4]
inc eax
add eax, ecx
mov dword [ebp - 0x24], eax
lea eax, [edi + 1]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xdc]
push 0xf9ded2
mov eax, dword [edx + eax*4 + 0xfb4]
add eax, dword [ebp - 0xc0]
add eax, edi
mov dword [ebp - 0x28], eax
lea eax, [ecx - 1]
movups xmm0, xmmword [ebp - 0x30]
mov ecx, esi
movups xmmword [ebp - 0x78], xmm0
dec dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov eax, dword [esi]
call dword [eax + 0x2c]
push 0xf9ded2
lea ecx, [ebp - 0x1a4]
call fcn.00473c7f
test eax, eax
je 0x43b202
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x78]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_FillRect]
lea ecx, [ebp - 0x1a4]
mov dword [ebp - method.CBrush.virtual_0], vtable.CBrush.0
call fcn.004027c0
mov edi, dword [ebp - 0xe4]
lea ecx, [ebp - 0x30]
mov eax, dword [esi]
push 1
push ecx
push dword [edi - 0xc]
mov ecx, esi
push edi
call dword [eax + 0x68]
mov eax, dword [esi]
mov ecx, esi
push 0xffffff
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xc8]
mov ecx, esi
mov eax, dword [ebp - 0x2c]
dec eax
add eax, dword [edx + 0xfd4]
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
lea eax, [ebp - 0x1d8]
push eax
call fcn.00474b9a
mov eax, dword [ebp - 0x2c]
mov ecx, esi
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
call fcn.00474b65
mov eax, dword [ebp - 0x2c]
mov ecx, esi
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x28]
inc eax
push eax
call fcn.00474b65
mov eax, dword [ebp - 0x28]
inc eax
cmp dword [ebp - 0xdc], 0
mov dword [ebp - 0xb8], eax
jne 0x43b428
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], eax
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b851
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xc4], eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xcc]
inc eax
push eax
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xc4]
push 0x690708
push eax
call fcn.0040c930
mov eax, dword [ebp - 0xc8]
add esp, 0xc
mov edx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x2c], edx
mov ecx, dword [eax + 0xfd4]
add ecx, edx
push 0xffe8e6
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
lea eax, [edx - 1]
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x5c], eax
mov eax, dword [esi]
mov dword [ebp - 0x54], ecx
mov ecx, esi
call dword [eax + 0x2c]
push 0xffe8e6
lea ecx, [ebp - 0x19c]
call fcn.00473c7f
test eax, eax
je 0x43b349
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x60]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_FillRect]
lea ecx, [ebp - 0x19c]
mov dword [ebp - method.CBrush.virtual_0], vtable.CBrush.0
call fcn.004027c0
mov esi, dword [ebp - 0xc4]
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0xd0]
push 1
push edx
push dword [esi - 0xc]
mov eax, dword [ecx]
push esi
call dword [eax + 0x68]
mov ecx, dword [ebp - 0xd0]
push 0xffffff
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xfd4]
mov eax, dword [ebp - 0x2c]
dec eax
add eax, ecx
mov ecx, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.00474b9a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xd0]
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
call fcn.00474b65
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xd0]
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x28]
inc eax
push eax
call fcn.00474b65
mov byte [ebp - 4], 0x19
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x43b40b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd0]
cmp dword [ebp - 0xcc], eax
jle 0x43b2b5
jmp 0x43b61e
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], ecx
nop word [eax + eax]
mov eax, dword [0x6e3f78]
mov edx, dword [eax + 0x100]
mov eax, dword [eax + 0xf8]
cmp ecx, edx
jge 0x43b45a
mov eax, dword [eax + ecx*4]
jmp 0x43b45e
mov eax, dword [eax + edx*4 - 4]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xcc], eax
inc edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x2c], edx
mov ecx, dword [eax + 0xfd4]
add ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
lea eax, [edx - 1]
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x84], eax
lea eax, [edi - 3]
push eax
push dword [ebp - 0xc4]
mov dword [ebp - 0x7c], ecx
call fcn.0041b560
test al, al
je 0x43b500
push 0xdcdcff
lea ecx, [ebp - 0x1b4]
call fcn.00473c7f
test eax, eax
je 0x43b4c0
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x88]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_FillRect]
lea ecx, [ebp - 0x1b4]
mov dword [ebp - method.CBrush.virtual_0], vtable.CBrush.0
call fcn.004027c0
mov eax, dword [esi]
mov ecx, esi
push 0xdcdcff
call dword [eax + 0x2c]
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + edi*4]
jmp 0x43b594
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + edi*4]
mov ecx, 0x6902d8
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43b53c
test dx, dx
je 0x43b538
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43b53c
add eax, 4
add ecx, 4
test dx, dx
jne 0x43b516
xor eax, eax
jmp 0x43b541
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43b58e
push 0xdcdcdc
lea ecx, [ebp - 0x1ac]
call fcn.00473c7f
test eax, eax
je 0x43b55c
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x88]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_FillRect]
lea ecx, [ebp - 0x1ac]
mov dword [ebp - method.CBrush.virtual_0], vtable.CBrush.0
call fcn.004027c0
mov eax, dword [esi]
mov ecx, esi
push 0xdcdcdc
call dword [eax + 0x2c]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
lea ecx, [ebp - 0x30]
mov edx, dword [esi]
push 1
push ecx
push dword [eax - 0xc]
mov ecx, esi
push eax
call dword [edx + 0x68]
mov eax, dword [esi]
mov ecx, esi
push 0xffffff
call dword [eax + 0x2c]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xfd4]
mov eax, dword [ebp - 0x2c]
dec eax
add eax, ecx
mov ecx, esi
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.00474b9a
mov eax, dword [ebp - 0x2c]
mov ecx, esi
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x30]
dec eax
push eax
call fcn.00474b65
mov eax, dword [ebp - 0x2c]
mov ecx, esi
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x28]
inc eax
push eax
call fcn.00474b65
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xe0]
jle 0x43b440
mov edi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [0x6e3f78]
inc ecx
mov dword [ebp - 0xdc], ecx
cmp ecx, dword [eax + 0xdc]
jle 0x43b0c6
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xb8]
dec eax
add eax, dword [edx + 0xfd4]
push eax
mov eax, dword [ebp - 0x150]
mov eax, dword [eax]
imul eax, dword [ebp - 0xc0]
sub ecx, eax
lea eax, [ebp - 0x1e0]
sub ecx, dword [edx + 0xfcc]
inc ecx
push ecx
push eax
mov ecx, esi
call fcn.00474b9a
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xfd4]
mov eax, dword [ebp - 0x2c]
dec eax
add eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0xb8]
call fcn.00474b65
mov eax, dword [ebp - 0x3c]
mov ecx, esi
add eax, 0xfffffffe
push eax
push dword [ebp - 0xb8]
call fcn.00474b65
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0xfa4]
inc eax
mov dword [ebp - 0xbc], eax
cmp eax, ecx
jl 0x43aff1
mov byte [ebp - 4], 0x18
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x43b6eb
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c8]
mov dword [ebp - method.CPen.virtual_0], vtable.CPen.0
call fcn.004027c0
mov edi, dword [ebp - 0xe8]
jmp 0x43b711
mov edi, edx
mov eax, dword [esi]
mov ecx, esi
push 0x6c1d44
call dword [eax + 0x28]
call fcn.0047d722
mov ecx, eax
test ecx, ecx
je 0x43b883
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x154]
mov dword [ebp - 4], 0x11c
movsd xmm1, qword [ebp - 0x1f0]
push dword [edi]
movups xmm0, xmmword [edx + 0x24]
push dword [edx + 0x14]
movd eax, xmm0
movups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x44]
push str._d_:__d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x50], eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x48]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x4c], eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x48], eax
lea eax, [ecx + 0x32]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0040c930
mov esi, dword [ebp - 0xc0]
lea ecx, [ebp - 0x50]
mov edi, dword [ebp - 0xd0]
add esp, 0x10
mov eax, dword [edi]
push 1
push ecx
push dword [esi - 0xc]
mov ecx, edi
push esi
call dword [eax + 0x68]
push dword [ebp - 0x1f4]
mov eax, dword [edi]
lea ecx, [ebp - 0x19c]
push dword [ebp - 0x1f8]
push ecx
mov ecx, edi
call dword [eax + 0x48]
mov dword [ebp - 4], 1
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x43b81f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x200]
mov dword [ebp - method.CPen.virtual_0], vtable.CPen.0
call fcn.004027c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b03a9
mov esp, ebp
pop ebp
ret 8
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
push 0x80004005
call fcn.004025a0
int3