Function at 0x1003b730
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008d0f6
mov eax, dword fs:[0]
push eax
sub esp, 0x5f4
mov eax, dword [0x100b0040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x43c], esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x444], edi
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x1b8]
mov dword [ebp - 0x434], ecx
mov ecx, dword [eax + 0x1b0]
mov dword [ebp - 0x430], ecx
xor ecx, ecx
cmp dword [eax + 0x188], 0
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], ecx
mov ecx, dword [esi + 0x3c]
mov dword [ebp - 0x3d4], ecx
je 0x1003b80c
test dword [eax + 0x22c], 0xff000000
je 0x1003b80c
push 0
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x498], 0
push ecx
push edi
push dword [edi + 0x18]
add eax, 0x178
mov dword [ebp - 0x494], 0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x494]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ecx
lea eax, [ecx + 4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x18]
test dword [eax + 0x22c], 0xff000000
je 0x1003b82f
cmp dword [eax + 0x188], 0
je 0x1003b82f
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x44c], eax
jmp 0x1003b839
mov dword [ebp - 0x44c], 0
push 0
lea eax, [ebp - 0x57c]
mov dword [ebp - 0x57c], 0
push eax
push edi
push dword [edi + 0x3c]
lea eax, [esi + 0x43c]
mov dword [ebp - 0x578], 0
sub esp, 0x18
mov dword [ebp - 0x574], 0
mov ecx, esp
mov dword [ebp - 0x570], 0
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
push 0
lea eax, [ebp - 0x574]
push eax
push edi
push dword [edi + 0x3c]
lea eax, [esi + 0x454]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1b8]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x570]
add eax, dword [ebp - 0x574]
add eax, dword [ebp - 0x57c]
cmp dword [ebp - 0x578], ecx
mov dword [ebp - 0x3e4], eax
mov eax, dword [esi]
cmovg ecx, dword [ebp - 0x578]
mov dword [ebp - 0x42c], ecx
mov ecx, esi
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [esi + 0x1c]
test al, al
mov eax, dword [sym.imp.USER32.dll_SetRect]
mov dword [ebp - 0x410], eax
jne 0x1003ba30
cmp dword [ecx + 0x10], 0
je 0x1003ba30
push edi
push dword [edi + 0x14]
lea eax, [ebp - 0x1c]
push ecx
push dword [ebp + 8]
mov ecx, esi
push eax
call fcn.1003a820
mov edi, dword [ebp - 0x42c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edi
mov dword [ebp - 0x460], ecx
cmovg edi, eax
mov dword [ebp - 0x45c], eax
cmp dword [0x100b6048], edi
jl 0x1003b979
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x44]
call eax
test al, al
je 0x1003b979
mov eax, dword [0x100b6048]
sub eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
jmp 0x1003b97b
xor ecx, ecx
mov edi, dword [ebp - 0x45c]
mov edx, dword [esi + 0x38]
add edi, ecx
add edi, dword [ebp - 0x3d4]
mov dword [ebp - 0x3dc], ecx
mov ecx, dword [esi + 0x38]
add ecx, dword [ebp - 0x460]
mov eax, dword [ebp - 0x3dc]
add eax, dword [ebp - 0x3d4]
push edi
push ecx
push eax
push edx
lea edi, [esi + 0x6c]
push edi
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3dc]
mov eax, dword [eax + 0x1ac]
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x38]
add eax, dword [ebp - 0x45c]
add dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x460]
lea eax, [eax + ecx*2]
xor ecx, ecx
add eax, dword [ebp - 0x3e4]
cmovns ecx, eax
mov eax, dword [esi]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], ecx
mov ecx, esi
mov eax, dword [eax + 0x44]
call eax
test al, al
je 0x1003ba1b
mov eax, dword [ebp - 0x41c]
add eax, dword [0x100b6048]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
push dword [esi + 8]
push dword [esi + 4]
push edi
call dword [sym.imp.USER32.dll_OffsetRect]
mov edi, dword [ebp - 0x444]
jmp 0x1003ba52
cmp dword [ecx + 0x34], 0
jne 0x1003ba52
cmp dword [esi + 0x34], 0
je 0x1003ba52
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3d4]
dec ecx
add ecx, dword [eax + 0x1bc]
mov dword [ebp - 0x3d4], ecx
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x34], 0
je 0x1003bb2d
push edi
push dword [edi + 0x14]
add eax, 0x24
mov ecx, esi
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.1003a820
mov edi, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x45c], edi
cmp dword [0x100b6048], edi
jl 0x1003baaf
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x44]
call eax
mov edi, dword [ebp - 0x45c]
test al, al
je 0x1003baaf
mov eax, dword [0x100b6048]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
jmp 0x1003bab1
xor eax, eax
mov ecx, dword [esi + 0x38]
add edi, eax
add edi, dword [ebp - 0x3d4]
add ecx, dword [ebp - 0x460]
mov edx, dword [esi + 0x38]
push edi
push ecx
mov dword [ebp - 0x3dc], eax
lea edi, [esi + 0x7c]
add eax, dword [ebp - 0x3d4]
push eax
push edx
push edi
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3dc]
push dword [esi + 8]
mov eax, dword [eax + 0x1ac]
push dword [esi + 4]
push edi
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x38]
add eax, dword [ebp - 0x45c]
add dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x460]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x41c]
cmp ecx, eax
cmovle ecx, eax
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], ecx
call dword [sym.imp.USER32.dll_OffsetRect]
mov edi, dword [ebp - 0x444]
lea eax, [ebp - 0x584]
push 0
push eax
push edi
push dword [edi + 0x1c]
mov dword [ebp - 0x584], 0
xorps xmm0, xmm0
sub esp, 0x18
mov dword [ebp - 0x580], 0
mov ecx, esp
push 1
movups xmmword [ecx], xmm0
push 0x1009e864
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10006020
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x598], 0
xorps xmm0, xmm0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x448], 0
mov byte [ebp - 0x43d], 0
mov byte [ebp - 0x3f1], 0
mov byte [ebp - 0x3f2], 0
mov dword [ebp - 0x3e0], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x4bc], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x4b8], 0
movq qword [ebp - 0x24], xmm0
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0x4b4], 0
movups xmmword [ebp - 0xd4], xmm0
movups xmmword [ebp - 0xc4], xmm0
movups xmmword [ebp - 0xb4], xmm0
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], 0
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x4b0], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x4ac], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x4a8], 0
movups xmmword [ebp - 0x64], xmm0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 0
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4f4], 0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x4bc]
movq qword [ebp - 0x1c], xmm0
mov word [ebp - 0x14], 0
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x4b0]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x4d8]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x4fc]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0x418]
mov ecx, dword [eax]
mov eax, ecx
and eax, 0x7c
mov dword [ebp - 0x3f0], eax
mov eax, ecx
shr eax, 2
test al, 1
je 0x1003bd9f
lea ecx, [ebp - 0x4b0]
jmp 0x1003bdf9
mov eax, ecx
shr eax, 6
test al, 1
je 0x1003bdb6
lea eax, [ebp - 0x4fc]
mov dword [ebp - 0x414], eax
jmp 0x1003bdff
mov eax, ecx
shr eax, 5
test al, 1
je 0x1003bdcd
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0x414], eax
jmp 0x1003bdff
mov eax, ecx
shr eax, 4
test al, 1
je 0x1003bde4
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0x414], eax
jmp 0x1003bdff
shr ecx, 3
lea eax, [ebp - 0x4b0]
test cl, 1
lea ecx, [ebp - 0x4d8]
cmove ecx, eax
mov dword [ebp - 0x414], ecx
mov eax, dword [esi + 0x34]
xor edx, edx
mov dword [ebp - 0x3f8], edx
test eax, eax
jle 0x1003cc6b
cmp edx, 0xa
jge 0x1003cc6b
lea eax, [edx + edx*2]
mov ecx, dword [esi + eax*4 + 0x368]
cmp ecx, dword [esi + eax*4 + 0x36c]
je 0x1003be35
mov dword [esi + eax*4 + 0x36c], ecx
mov ecx, dword [esi + 0x18]
add ecx, 0x160
cmp dword [ecx + 0x14], 7
jbe 0x1003be46
mov ecx, dword [ecx]
mov eax, dword [esi]
push ecx
push edx
push dword [esi + 0x2c]
lea ecx, [ebp - 0x164]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
mov eax, dword [ebp - 0x3f8]
lea ecx, [ebp - 0xe4]
push 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x164]
xorps xmm0, xmm0
lea eax, [ecx + eax*8]
push eax
push edi
push dword [edi + 0x1c]
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x42c], eax
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [ebp - 0x150], 7
mov ecx, dword [ebp - 0x154]
cmova edx, dword [ebp - 0x164]
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x3ec], ecx
cmp ecx, 0x7ffffffe
ja 0x1003f8f9
cmp ecx, 7
ja 0x1003bedb
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
jmp 0x1003bf42
or ecx, 7
cmp ecx, 0x7ffffffe
jbe 0x1003beed
mov ecx, SysReAllocString
jmp 0x1003bef8
cmp ecx, 0xa
mov edx, 0xa
cmovb ecx, edx
mov dword [ebp - 0x3d0], ecx
lea ecx, [ebp - 0x3d0]
push ecx
push eax
call fcn.10005fb0
mov edx, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x3ec]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x3d0]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x3ec]
mov dword [edx], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x404]
push eax
call fcn.100607c0
add esp, 0x14
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [ebp + ecx*8 - 0xe4]
mov ecx, dword [ebp - 0x454]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x454], ecx
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x38e38e39
sub ecx, edx
mov dword [ebp - 0x42c], edx
imul ecx
mov ecx, dword [ebp - 0x3f8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1003f903
lea eax, [ecx + ecx*8]
shl eax, 2
mov dword [ebp - 0x404], eax
add eax, dword [ebp - 0x42c]
mov dword [ebp - 0x438], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x38e38e39
sub ecx, edx
mov dword [ebp - 0x42c], edx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0x3f8]
jbe 0x1003f903
mov edx, dword [ebp - 0x42c]
add edx, dword [ebp - 0x404]
mov dword [ebp - 0x458], edx
mov ecx, edx
mov dword [ebp - 0x3d0], edx
cmp dword [edx + 0x14], 7
jbe 0x1003c003
mov ecx, dword [edx]
mov dword [ebp - 0x3d0], ecx
mov eax, dword [edx + 0x10]
test eax, eax
je 0x1003c022
nop word [eax + eax]
cmp word [ecx], 0xc
je 0x1003c138
add ecx, 2
sub eax, 1
jne 0x1003c010
or ecx, 0xffffffff
mov dword [ebp - 0x3fc], ecx
mov eax, dword [edx + 0x10]
mov byte [ebp - 0x3e5], 0
mov dword [ebp - 0x3ec], eax
test eax, eax
je 0x1003ce54
cmp dword [edx + 0x14], 7
mov eax, edx
mov dword [ebp - 0x3d0], edx
jbe 0x1003c059
mov eax, dword [edx]
mov dword [ebp - 0x3d0], eax
movzx eax, word [eax]
mov edi, eax
mov dword [ebp - 0x40c], edi
mov edi, dword [ebp - 0x444]
cmp eax, 0xb
jne 0x1003c081
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 1
test al, 1
je 0x1003c3c0
mov esi, dword [ebp - 0x3d0]
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
movups xmmword [ebp - 0x11c], xmm0
mov dword [ebp - 0x108], 0
cmp word [esi], 0xb
mov esi, dword [ebp - 0x43c]
sete al
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x3ec]
mov edi, dword [ebp - 0x42c]
cmp eax, edi
jb 0x1003f8fe
sub eax, edi
sub ecx, edi
cmp eax, ecx
cmovb ecx, eax
cmp dword [edx + 0x14], 7
mov eax, edx
jbe 0x1003c0e1
mov eax, dword [edx]
push ecx
lea eax, [eax + edi*2]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10006020
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x11c]
cmp dword [ebp - 0x108], 7
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x10c]
cmova ecx, edi
seta dl
add eax, eax
mov dword [ebp - 0x3d0], eax
add eax, ecx
mov dword [ebp - 0x3dc], eax
lea ecx, [ebp - 0x11c]
mov eax, dword [ebp - 0x3d0]
test dl, dl
je 0x1003c178
add eax, edi
jmp 0x1003c180
test ecx, ecx
je 0x1003c022
sub ecx, dword [ebp - 0x3d0]
sar ecx, 1
mov dword [ebp - 0x3fc], ecx
cmp ecx, 0xffffffff
je 0x1003c02b
lea eax, [ecx + 1]
cmp dword [edx + 0x10], eax
jbe 0x1003c02b
mov eax, dword [edx + 0x10]
mov byte [ebp - 0x3e5], 1
mov dword [ebp - 0x3ec], eax
jmp 0x1003c043
add eax, ecx
lea edi, [ebp - 0x11c]
push 0xb
push eax
push edi
mov dword [ebp - 0x3d0], eax
call fcn.10044fd0
mov edx, dword [ebp - 0x3d0]
mov edi, eax
mov dword [ebp - 0x3ec], edi
cmp eax, edx
je 0x1003c1c3
add eax, 2
cmp eax, edx
je 0x1003c1c3
movzx ecx, word [eax]
cmp ecx, 0xb
je 0x1003c1b6
mov word [edi], cx
add edi, 2
add eax, 2
cmp eax, edx
jne 0x1003c1a8
mov dword [ebp - 0x3ec], edi
cmp dword [ebp - 0x108], 7
lea ecx, [ebp - 0x11c]
mov eax, dword [ebp - 0x10c]
cmova ecx, dword [ebp - 0x11c]
seta byte [ebp - 0x3fd]
sub edi, ecx
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3dc]
sub ecx, dword [ebp - 0x3ec]
sar edi, 1
sub eax, edi
sar ecx, 1
cmp eax, ecx
cmovb ecx, eax
cmp byte [ebp - 0x3fd], 0
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x3dc], ecx
cmovne eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x3dc]
lea ecx, [eax + edi*2]
mov eax, dword [ebp - 0x3d8]
sub eax, edx
mov dword [ebp - 0x3d8], eax
sub eax, edi
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.100607c0
mov eax, dword [ebp - 0x3d8]
add esp, 0xc
mov edi, dword [ebp - 0x444]
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x1003c376
mov eax, dword [ebp - 0x3f8]
lea ecx, [ebp - 0x94]
push 0
xorps xmm0, xmm0
lea edx, [ebp - 0x11c]
lea eax, [ecx + eax*8]
push eax
push edi
push dword [edi + 0x20]
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x42c], eax
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [ebp - 0x108], 7
mov ecx, dword [ebp - 0x10c]
cmova edx, dword [ebp - 0x11c]
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x3ec], ecx
cmp ecx, 0x7ffffffe
ja 0x1003f8f9
cmp ecx, 7
ja 0x1003c2e3
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
jmp 0x1003c34a
or ecx, 7
cmp ecx, 0x7ffffffe
jbe 0x1003c2f5
mov ecx, SysReAllocString
jmp 0x1003c300
cmp ecx, 0xa
mov edx, 0xa
cmovb ecx, edx
mov dword [ebp - 0x3d0], ecx
lea ecx, [ebp - 0x3d0]
push ecx
push eax
call fcn.10005fb0
mov edx, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x3ec]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x3d0]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x3ec]
mov dword [edx], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x404]
push eax
call fcn.100607c0
add esp, 0x14
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x3f8]
mov byte [ebp - 0x3f1], 1
mov eax, dword [ebp + ecx*8 - 0x94]
mov ecx, dword [ebp - 0x450]
cmp ecx, eax
cmovle ecx, eax
mov dword [ebp - 0x450], ecx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x108]
cmp ecx, 7
jbe 0x1003c3ba
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c3b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov edx, dword [ebp - 0x458]
cmp byte [ebp - 0x3e5], 0
je 0x1003ce54
mov eax, dword [esi + 0x418]
test byte [eax], 1
jne 0x1003c3f1
cmp byte [eax + 4], 0
jne 0x1003c3e8
cmp word [ebp - 0x40c], 0xb
je 0x1003c3f1
mov byte [ebp - 0x3e5], 0
jmp 0x1003c3f8
mov byte [ebp - 0x3e5], 1
mov ecx, dword [ebp - 0x3fc]
xorps xmm0, xmm0
mov eax, dword [edx + 0x10]
inc ecx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
movups xmmword [ebp - 0x134], xmm0
cmp eax, ecx
jb 0x1003f8fe
sub eax, ecx
or edi, 0xffffffff
cmp eax, 0xffffffff
cmovb edi, eax
cmp dword [edx + 0x14], 7
mov dword [ebp - 0x40c], edi
mov edi, dword [ebp - 0x444]
jbe 0x1003c447
mov edx, dword [edx]
push dword [ebp - 0x40c]
lea eax, [edx + ecx*2]
push eax
lea ecx, [ebp - 0x134]
call fcn.10006020
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x134]
cmp dword [ebp - 0x120], 7
mov edx, dword [ebp - 0x134]
cmova eax, edx
mov dword [ebp - 0x3ec], edx
seta byte [ebp - 0x3fd]
cmp word [eax], 0xd
jne 0x1003ca26
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0
mov byte [ebp - 4], 0xc
xorps xmm0, xmm0
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x14c], xmm0
cmp eax, 1
jb 0x1003f8fe
dec eax
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x3fd], 0
lea eax, [ebp - 0x134]
cmovne eax, edx
push ecx
add eax, 2
lea ecx, [ebp - 0x14c]
push eax
call fcn.10006020
push 1
push 0x1009e860
lea edx, [ebp - 0x14c]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x490]
call fcn.10010c50
mov byte [ebp - 4], 0xc
add esp, 8
mov ecx, dword [ebp - 0x138]
cmp ecx, 7
jbe 0x1003c569
mov edx, dword [ebp - 0x14c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c55f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x470], ecx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x438], eax
cmp eax, dword [ebp - 0x48c]
je 0x1003c9f4
push eax
lea ecx, [ebp - 0x3cc]
call fcn.100282e0
lea eax, [ebp - 0x3cc]
mov byte [ebp - 4], 0xf
mov ecx, dword [esi + 0x418]
push eax
call fcn.10028230
mov byte [ebp - 0x3fd], al
test al, al
je 0x1003c616
mov eax, dword [ebp - 0x3d8]
lea ecx, [ebp - 0x3cc]
push ecx
cmp eax, dword [ebp - 0x470]
je 0x1003c5fe
mov ecx, eax
call fcn.10026890
mov eax, dword [ebp - 0x3d8]
add eax, 0x1b0
mov dword [ebp - 0x474], eax
jmp 0x1003c610
push eax
lea ecx, [ebp - 0x478]
call fcn.100262e0
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x438]
mov ecx, eax
cmp dword [eax + 0x14], 7
jbe 0x1003c626
mov ecx, dword [eax]
cmp word [ecx], 0x31
jne 0x1003c950
lea ecx, [ebp - 0x100]
call fcn.1003f920
mov eax, dword [esi + 0x18]
movzx ecx, byte [ebp - 0x3e5]
imul ecx, dword [eax + 0x1c0]
mov eax, dword [ebp - 0x3e0]
push ecx
lea ecx, [eax*8]
mov eax, dword [ebp - 0x484]
add eax, ecx
mov dword [ebp - 0x3fc], ecx
push eax
push edi
push dword [edi + 0x18]
lea eax, [ebp - 0x3b4]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
cmp byte [ebp - 0x3e5], 0
je 0x1003c6c0
mov eax, dword [ebp - 0x4bc]
add eax, dword [ebp - 0x3fc]
push 0
push eax
push edi
push dword [edi + 0x24]
lea eax, [ebp - 0x39c]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov byte [ebp - 0x43d], 1
cmp byte [ebp - 0x3fd], 0
mov eax, dword [esi + 0x418]
je 0x1003c7fe
mov eax, dword [eax]
shr eax, 2
test al, 1
je 0x1003c707
mov eax, dword [ebp - 0x4b0]
add eax, dword [ebp - 0x3fc]
push 0
push eax
push edi
push dword [edi + 0x28]
lea eax, [ebp - 0x294]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 5
test al, 1
je 0x1003c741
mov eax, dword [ebp - 0x4e4]
add eax, dword [ebp - 0x3fc]
push 0
push eax
push edi
push dword [edi + 0x2c]
lea eax, [ebp - 0x24c]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 3
test al, 1
je 0x1003c77e
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [ebp - 0x3e0]
push 0
lea eax, [eax + ecx*8]
push eax
push edi
push dword [edi + 0x30]
lea eax, [ebp - 0x27c]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 4
test al, 1
je 0x1003c7bb
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [ebp - 0x3e0]
push 0
lea eax, [eax + ecx*8]
push eax
push edi
push dword [edi + 0x34]
lea eax, [ebp - 0x264]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 6
test al, 1
je 0x1003c85c
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x3e0]
push 0
lea eax, [eax + ecx*8]
push eax
push edi
push dword [edi + 0x38]
lea eax, [ebp - 0x234]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
jmp 0x1003c85c
test dword [eax], 0xfffffffc
je 0x1003c85c
cmp dword [ebp - 0x2fc], 0
je 0x1003c85c
mov eax, dword [ebp - 0x414]
lea ecx, [ebp - 0x33c]
push 0
mov eax, dword [eax]
add eax, dword [ebp - 0x3fc]
push eax
push edi
push dword [edi + 0x54]
lea eax, [ebp - 0x5c4]
push eax
call fcn.10029bf0
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
mov edx, eax
push ecx
call fcn.10025ab0
mov eax, dword [esi]
add esp, 4
mov ecx, esi
call dword [eax + 0x48]
lea ecx, [ebp - 0x5c4]
call fcn.10011580
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x4bc]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x484]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x3dc]
cmp eax, edx
cmovle eax, edx
cmp dword [ebp - 0x408], eax
jg 0x1003c8a6
cmp dword [ebp - 0x3dc], edx
mov dword [ebp - 0x408], edx
cmovg edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x4fc]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x4b0]
mov eax, dword [eax + ecx*8]
cmp eax, edx
mov dword [ebp - 0x3d0], eax
cmovle eax, edx
cmp dword [ebp - 0x424], eax
jg 0x1003c8e4
cmp dword [ebp - 0x3d0], edx
mov dword [ebp - 0x424], edx
cmovg edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x4cc]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x4e4]
mov eax, dword [eax + ecx*8]
cmp eax, edx
mov dword [ebp - 0x3d0], eax
cmovle eax, edx
cmp dword [ebp - 0x420], eax
jg 0x1003c922
cmp dword [ebp - 0x3d0], edx
mov dword [ebp - 0x420], edx
cmovg edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x448]
cmp edx, dword [eax + ecx*8]
cmovle edx, dword [eax + ecx*8]
inc ecx
mov eax, dword [esi + 0x418]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x3e0], ecx
test dword [eax], 0xfffffffd
je 0x1003c97c
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0xe
call fcn.100246d0
mov eax, dword [ebp - 0x438]
add eax, 0x18
mov dword [ebp - 0x438], eax
cmp eax, dword [ebp - 0x48c]
jne 0x1003c5a3
jmp 0x1003c98b
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0xe
call fcn.100246d0
mov edx, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x3d8]
cmp edx, ecx
je 0x1003ca05
mov eax, dword [ebp - 0x3f8]
mov edi, dword [ebp - 0x3f8]
mov byte [ebp - 0x3f2], 1
mov byte [ebp + eax - 0x1c], 1
mov eax, dword [esi + 0x1c]
cmp edi, dword [eax + 0x54]
mov edi, dword [ebp - 0x444]
jne 0x1003ca05
mov eax, dword [esi + 0x418]
cmp byte [eax + 5], 0
je 0x1003ca05
sub ecx, edx
mov eax, 0x4bda12f7
imul ecx
lea ecx, [ebp - 0x5a0]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp - 0x478]
call fcn.10025c60
jmp 0x1003ca05
lea ecx, [ebp - 0x100]
call fcn.1003f920
inc dword [ebp - 0x3e0]
lea ecx, [ebp - 0x478]
call fcn.10025480
lea ecx, [ebp - 0x490]
call fcn.10011580
mov ecx, dword [ebp - 0x134]
jmp 0x1003cbc1
lea ecx, [ebp - 0x100]
call fcn.1003f920
mov eax, dword [esi + 0x18]
movzx ecx, byte [ebp - 0x3e5]
imul ecx, dword [eax + 0x1c0]
mov eax, dword [ebp - 0x3e0]
push ecx
lea ecx, [eax*8]
mov eax, dword [ebp - 0x484]
add eax, ecx
mov dword [ebp - 0x40c], ecx
push eax
push edi
push dword [edi + 0x18]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x438]
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
cmp byte [ebp - 0x3e5], 0
je 0x1003cb6a
mov eax, dword [ebp - 0x4bc]
lea edx, [ebp - 0x134]
add eax, dword [ebp - 0x40c]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x124]
push 0
push eax
push edi
push dword [edi + 0x24]
sub esp, 0x18
cmp byte [ebp - 0x3fd], 0
mov eax, esp
cmovne edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x42c], edx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp ecx, 0x7ffffffe
ja 0x1003f8f9
cmp ecx, 7
ja 0x1003cafc
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
jmp 0x1003cb63
or ecx, 7
cmp ecx, 0x7ffffffe
jbe 0x1003cb0e
mov ecx, SysReAllocString
jmp 0x1003cb19
cmp ecx, 0xa
mov edx, 0xa
cmovb ecx, edx
mov dword [ebp - 0x3d0], ecx
lea ecx, [ebp - 0x3d0]
push ecx
push eax
call fcn.10005fb0
mov edx, dword [ebp - 0x40c]
mov ecx, dword [ebp - 0x124]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x3d0]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x124]
mov dword [edx], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x42c]
push eax
call fcn.100607c0
add esp, 0x14
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x4bc]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x484]
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0x438]
cmp eax, edx
cmovle eax, edx
cmp dword [ebp - 0x408], eax
jg 0x1003cbb4
cmp dword [ebp - 0x438], edx
mov dword [ebp - 0x408], edx
cmovg edx, dword [ebp - 0x438]
mov dword [ebp - 0x408], edx
inc ecx
mov dword [ebp - 0x3e0], ecx
mov ecx, dword [ebp - 0x3ec]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x120]
cmp eax, 7
jbe 0x1003cbff
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1003cbf5
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push edx
push ecx
call fcn.1005a775
add esp, 8
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3f8]
mov byte [ebp - 4], 8
mov dword [ebp + edx*4 - 0x44], ecx
mov ecx, dword [ebp - 0x150]
cmp ecx, 7
jbe 0x1003cc59
mov edx, dword [ebp - 0x164]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003cc49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
mov edx, dword [ebp - 0x3f8]
add esp, 8
mov eax, dword [esi + 0x34]
inc edx
mov dword [ebp - 0x3f8], edx
cmp edx, eax
jl 0x1003be12
mov edx, dword [ebp - 0x3d4]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3d8], edi
mov dword [ebp - 0x3fc], ecx
test eax, eax
jle 0x1003d6bd
mov esi, edx
mov dword [ebp - 0x3dc], esi
mov esi, dword [ebp - 0x43c]
nop dword [eax]
cmp ecx, 0xa
jge 0x1003d6bb
test edi, edi
je 0x1003ccc4
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x1b4]
add eax, edx
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x3dc], eax
mov eax, dword [esi + 0x18]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x38]
mov edx, dword [ebp - 0x3fc]
movzx esi, byte [ebp - 0x43d]
imul esi, dword [ebp - 0x430]
movups xmmword [ebp - 0x2bc], xmm0
movups xmmword [ebp - 0x2ac], xmm0
movups xmmword [ebp - 0x29c], xmm0
movups xmmword [ebp - 0x28c], xmm0
movups xmmword [ebp - 0x27c], xmm0
movups xmmword [ebp - 0x26c], xmm0
movups xmmword [ebp - 0x25c], xmm0
movups xmmword [ebp - 0x24c], xmm0
movups xmmword [ebp - 0x23c], xmm0
movups xmmword [ebp - 0x22c], xmm0
add ecx, dword [eax + 0x1bc]
mov eax, dword [ebp + edx*8 - 0xe0]
add ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x40c], eax
add eax, dword [ebp - 0x430]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x3e0], ecx
lea ecx, [eax + edi*8]
mov eax, dword [ebp - 0x484]
add esi, dword [eax + edi*8 + 4]
mov eax, esi
mov dword [ebp - 0x418], esi
add eax, dword [ecx + 4]
mov esi, dword [ebp - 0x43c]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + edx*8 - 0x90]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x4b0]
lea edx, [eax + edi*8]
mov eax, dword [ebp - 0x4fc]
lea ecx, [eax + edi*8]
mov eax, dword [esi + 0x418]
mov esi, dword [ebp - 0x3d8]
mov edi, dword [eax]
mov eax, edi
shr eax, 6
mov dword [ebp - 0x3f8], eax
mov eax, edi
shr eax, 2
and dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3f8]
and eax, 1
imul eax, dword [ebp - 0x430]
add eax, dword [ecx + 4]
add eax, dword [edx + 4]
mov edx, edi
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x4cc]
shr edx, 5
lea ecx, [eax + esi*8]
mov eax, dword [ebp - 0x4e4]
shr edi, 4
and edx, edi
and edx, 1
imul edx, dword [ebp - 0x430]
add edx, dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0x4d8]
add edx, dword [ecx + 4]
mov dword [ebp - 0x3ec], edx
mov edi, dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0x3fc]
movzx ecx, byte [ebp + eax - 0x1c]
imul ecx, dword [ebp - 0x580]
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, eax
mov dword [ebp - 0x438], eax
cmp edx, esi
cmovg eax, edx
cmp dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3f8]
jle 0x1003ceb7
mov dword [ebp - 0x404], eax
jmp 0x1003cece
lea ecx, [ebp - 0x100]
call fcn.1003f920
mov eax, dword [ebp - 0x484]
mov ecx, dword [ebp - 0x3e0]
push 0
lea eax, [eax + ecx*8]
push eax
push edi
push dword [edi + 0x18]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x438]
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x484]
mov edx, dword [ebp - 0x408]
cmp edx, dword [eax + ecx*8]
cmovle edx, dword [eax + ecx*8]
inc ecx
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x3e0], ecx
jmp 0x1003cc05
mov esi, dword [ebp - 0x438]
cmp edx, esi
cmovg esi, edx
mov dword [ebp - 0x404], esi
mov esi, dword [ebp - 0x438]
mov edx, dword [ebp - 0x414]
cmp edx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x3ec]
jle 0x1003ceea
mov eax, dword [ebp - 0x414]
jmp 0x1003cf09
cmp edx, esi
cmovg esi, edx
cmp eax, esi
jg 0x1003cf09
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cf02
mov eax, edx
jmp 0x1003cf09
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x418]
cmp esi, eax
jle 0x1003cf1a
mov eax, esi
jmp 0x1003cf94
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cf29
mov esi, edx
jmp 0x1003cf30
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jg 0x1003cf50
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cf49
mov eax, edx
jmp 0x1003cf50
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x414]
cmp esi, eax
jle 0x1003cf5e
mov eax, esi
jmp 0x1003cf94
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cf6d
mov esi, edx
jmp 0x1003cf74
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jg 0x1003cf94
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cf8d
mov eax, edx
jmp 0x1003cf94
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x458]
cmp esi, eax
jle 0x1003cfa5
mov ecx, esi
jmp 0x1003d0ac
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cfb4
mov esi, edx
jmp 0x1003cfbb
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jg 0x1003cfdb
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cfd4
mov eax, edx
jmp 0x1003cfdb
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x414]
cmp esi, eax
jle 0x1003cfe9
mov eax, esi
jmp 0x1003d01f
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003cff8
mov esi, edx
jmp 0x1003cfff
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jg 0x1003d01f
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003d018
mov eax, edx
jmp 0x1003d01f
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x418]
cmp esi, eax
jle 0x1003d030
mov ecx, esi
jmp 0x1003d0ac
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003d03f
mov esi, edx
jmp 0x1003d046
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jg 0x1003d066
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003d05f
mov eax, edx
jmp 0x1003d066
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
mov esi, dword [ebp - 0x414]
cmp esi, eax
jle 0x1003d074
mov ecx, esi
jmp 0x1003d0ac
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003d083
mov esi, edx
jmp 0x1003d08a
cmp edi, ecx
mov esi, ecx
cmovg esi, edi
mov eax, dword [ebp - 0x3f8]
cmp eax, esi
jle 0x1003d098
mov ecx, eax
jmp 0x1003d0ac
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp edx, eax
jle 0x1003d0a7
mov ecx, edx
jmp 0x1003d0ac
cmp edi, ecx
cmovg ecx, edi
mov eax, dword [ebp - 0x3d4]
mov esi, dword [ebp - 0x40c]
add eax, ecx
mov ecx, dword [ebp - 0x3fc]
sub esi, dword [ebp - 0x458]
mov edx, dword [ebp - 0x3e0]
add esi, eax
push esi
mov ecx, dword [ebp + ecx*8 - 0xe4]
mov dword [ebp - 0x3d4], eax
add ecx, edx
sub eax, dword [ebp - 0x458]
push ecx
push eax
push edx
lea eax, [ebp - 0x2bc]
push eax
call dword [ebp - 0x410]
mov esi, dword [ebp - 0x43c]
lea eax, [ebp - 0x2bc]
push dword [esi + 8]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x454]
add eax, dword [ebp - 0x434]
add dword [ebp - 0x3e0], eax
cmp byte [ebp - 0x43d], 0
je 0x1003d182
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
sub edx, dword [ebp - 0x418]
add edx, dword [ebp - 0x3d4]
add ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ebp - 0x418]
push edx
push ecx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x2ac]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x2ac]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x484]
mov ecx, dword [ebp - 0x3d8]
push dword [ebp - 0x3d4]
mov edx, dword [eax + ecx*8]
lea ecx, [eax + ecx*8]
add edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ecx + 4]
push edx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x29c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x29c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
movzx eax, byte [ebp - 0x3f1]
imul eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0x3e0]
lea eax, [ecx + eax*2]
add edx, eax
cmp byte [ebp - 0x3f1], 0
mov dword [ebp - 0x3e0], edx
je 0x1003d249
mov eax, dword [ebp - 0x3fc]
push dword [ebp - 0x3d4]
mov ecx, dword [ebp + eax*8 - 0x94]
mov eax, dword [ebp - 0x3d4]
add ecx, edx
sub eax, dword [ebp - 0x414]
push ecx
push eax
push edx
lea eax, [ebp - 0x28c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x28c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [esi + 0x418]
mov ecx, dword [eax]
test cl, 0x44
jne 0x1003d263
cmp dword [ebp - 0x3f0], 0
je 0x1003d263
xor eax, eax
jmp 0x1003d268
mov eax, 2
imul eax, dword [ebp - 0x434]
shr ecx, 2
add eax, dword [ebp - 0x450]
add edx, eax
mov dword [ebp - 0x3e0], edx
test cl, 1
je 0x1003d2df
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
sub edx, dword [ebp - 0x3f8]
add edx, dword [ebp - 0x3d4]
add ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ebp - 0x3f8]
push edx
push ecx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x27c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x27c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 6
test al, 1
je 0x1003d33d
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x3d8]
push dword [ebp - 0x3d4]
mov edx, dword [eax + ecx*8]
lea ecx, [eax + ecx*8]
add edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ecx + 4]
push edx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x26c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x26c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x418]
mov edx, dword [ebp - 0x424]
mov ecx, dword [eax]
test cl, 0x30
mov eax, 0
cmovne eax, dword [ebp - 0x434]
shr ecx, 5
lea eax, [edx + eax*2]
add dword [ebp - 0x3e0], eax
test cl, 1
je 0x1003d3c5
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + ecx*8]
sub edx, dword [ebp - 0x3ec]
add edx, dword [ebp - 0x3d4]
add ecx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ebp - 0x3ec]
push edx
push ecx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x25c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x25c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x418]
mov eax, dword [eax]
shr eax, 4
test al, 1
je 0x1003d423
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [ebp - 0x3d8]
push dword [ebp - 0x3d4]
mov edx, dword [eax + ecx*8]
lea ecx, [eax + ecx*8]
add edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3d4]
sub eax, dword [ecx + 4]
push edx
push eax
push dword [ebp - 0x3e0]
lea eax, [ebp - 0x24c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x24c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x418]
mov edx, dword [ebp - 0x448]
mov ecx, dword [eax]
shr ecx, 3
movzx eax, cl
and eax, 1
imul eax, dword [ebp - 0x434]
lea eax, [edx + eax*2]
add eax, dword [ebp - 0x420]
add dword [ebp - 0x3e0], eax
test cl, 1
je 0x1003d4a5
push dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x3d4]
mov esi, dword [ebp - 0x3d8]
sub edx, edi
mov edi, dword [ebp - 0x3e0]
mov ecx, edi
push edi
push edx
sub ecx, dword [eax + esi*8]
lea eax, [ebp - 0x23c]
push ecx
push eax
call dword [ebp - 0x410]
mov esi, dword [ebp - 0x43c]
lea eax, [ebp - 0x23c]
push dword [esi + 8]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
jmp 0x1003d4ab
mov edi, dword [ebp - 0x3e0]
movzx edx, byte [ebp - 0x3f2]
mov eax, edx
imul eax, dword [ebp - 0x434]
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3ec], edi
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ebp - 0x584]
sub eax, ecx
imul eax, edx
add eax, dword [esi + 0x38]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x42c], ecx
cmp byte [ebp + eax - 0x1c], 0
je 0x1003d584
mov eax, dword [ebp - 0x41c]
sub eax, ecx
cmp edi, eax
cmovg eax, edi
mov edi, eax
mov eax, dword [ebp - 0x3dc]
add eax, dword [ebp - 0x580]
add eax, dword [ebp - 0x3d4]
cdq
sub eax, edx
mov dword [ebp - 0x3ec], edi
add edi, dword [ebp - 0x584]
sar eax, 1
sub eax, dword [ebp - 0x430]
mov dword [ebp - 0x40c], eax
mov eax, dword [ebp - 0x3dc]
sub eax, dword [ebp - 0x580]
add eax, dword [ebp - 0x3d4]
push dword [ebp - 0x40c]
cdq
sub eax, edx
sar eax, 1
sub eax, dword [ebp - 0x430]
push edi
push eax
push dword [ebp - 0x3ec]
lea eax, [ebp - 0x22c]
push eax
call dword [ebp - 0x410]
push dword [esi + 8]
lea eax, [ebp - 0x22c]
push dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x3fc]
lea eax, [eax + eax*2]
mov edx, dword [esi + eax*4 + 0x36c]
lea eax, [esi + eax*4]
cmp edx, dword [eax + 0x370]
je 0x1003d5ba
mov ecx, 0x28
lea esi, [ebp - 0x2bc]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
add dword [eax + 0x36c], 0xa0
mov esi, dword [ebp - 0x43c]
jmp 0x1003d5cd
lea ecx, [ebp - 0x2bc]
push ecx
push edx
lea ecx, [eax + 0x368]
call fcn.10040530
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x42c]
cmp dword [ebp - 0x41c], eax
mov edi, dword [ebp - 0x3d8]
cmovg eax, dword [ebp - 0x41c]
mov ecx, eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], ecx
mov ecx, dword [ebp - 0x3fc]
mov eax, dword [eax + 0x1bc]
add eax, dword [ebp - 0x3d4]
mov edx, eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp + ecx*4 - 0x44]
dec eax
mov dword [ebp - 0x42c], edx
cmp edi, eax
jne 0x1003d6a3
mov ecx, dword [esi + 0x18]
mov edi, dword [ebp - 0x41c]
sub edi, dword [esi + 0x38]
mov ecx, dword [ecx + 0x1a0]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x40c]
mov eax, dword [esi + 4]
add edi, eax
add eax, dword [esi + 0x38]
mov esi, dword [ebp - 0x43c]
push edi
push ecx
push eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
add eax, 0x9c
add eax, esi
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x42c]
mov edi, dword [ebp - 0x3d8]
mov eax, dword [eax + 0x1b4]
add eax, edx
inc ecx
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3fc], ecx
mov eax, dword [esi + 0x34]
inc edi
mov dword [ebp - 0x3d8], edi
mov dword [ebp - 0x3dc], edx
cmp ecx, eax
jl 0x1003cca0
test eax, eax
mov edi, dword [esi + 0x18]
je 0x1003d6c6
xor ecx, ecx
jmp 0x1003d6cc
mov ecx, dword [edi + 0x1ac]
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x1c]
sub edx, ecx
add edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], edx
cmp dword [eax + 0x10], 0
je 0x1003d718
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x1003d718
mov eax, dword [edi + 0x190]
mov ecx, dword [ebp - 0x41c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edi + 0x198]
cmp edx, eax
mov dword [ebp - 0x418], ecx
cmovle edx, eax
mov dword [ebp - 0x3d0], edx
lea eax, [ebp - 0x3d0]
mov ecx, esi
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.1003b440
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x408], edx
lea ecx, [eax + ecx*2]
mov eax, dword [esi + 4]
mov dword [esi + 0x68], ecx
lea edx, [edx + eax*2]
mov eax, dword [esi + 0x30]
mov dword [esi + 0x64], edx
mov eax, dword [eax]
add eax, eax
cmp dword [esi + 0x34], 0
movups xmm0, xmmword [esi + eax*8 + 0x9c]
movups xmmword [esi + 0x8c], xmm0
je 0x1003d857
mov edi, dword [esi + 0x18]
cmp byte [edi + 0x144], 0
jne 0x1003d857
mov edi, dword [edi + 0x1bc]
mov eax, edi
sub eax, dword [esi + 0x38]
sub eax, dword [esi + 4]
sub eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x578]
add eax, edx
mov dword [ebp - 0x3f0], eax
mov eax, dword [esi + 0x78]
add eax, dword [esi + 0x70]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x3dc], eax
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x3dc]
sar eax, 1
sub edx, eax
mov eax, dword [ebp - 0x57c]
sub edx, edi
mov dword [ebp - 0x3dc], edx
add ecx, edx
mov edx, dword [ebp - 0x3f0]
add eax, edx
mov edi, dword [ebp - 0x3dc]
push ecx
push eax
push edi
push edx
lea eax, [esi + 0x41c]
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x570]
add edx, edi
push edx
mov ecx, dword [eax + 0x1b8]
add ecx, dword [esi + 0x424]
mov eax, dword [ebp - 0x574]
add eax, ecx
push eax
push edi
push ecx
lea edi, [esi + 0x42c]
push edi
call dword [ebp - 0x410]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x44]
call eax
test al, al
je 0x1003d857
mov eax, dword [0x100b6048]
neg eax
push 0
push eax
lea eax, [esi + 0x41c]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [0x100b6048]
push 0
neg eax
push eax
push edi
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x360]
mov edi, dword [esi + 0x35c]
mov dword [ebp - 0x3f0], eax
cmp edi, eax
je 0x1003d893
mov esi, eax
nop
mov ecx, edi
call fcn.100265b0
add edi, 0x90
cmp edi, esi
jne 0x1003d870
mov esi, dword [ebp - 0x43c]
mov eax, dword [esi + 0x35c]
mov dword [esi + 0x360], eax
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x64]
sub edi, dword [esi + 0x38]
mov ecx, dword [edx + 0x1a0]
sub edi, ecx
mov eax, dword [edx + 0x37c]
add eax, edi
mov dword [ebp - 0x428], edi
mov edi, dword [esi + 0x3c]
add edi, dword [edx + 0x380]
add edi, ecx
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x3d4], edi
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], eax
cmp ecx, eax
je 0x1003f54e
nop dword [eax]
xorps xmm0, xmm0
movups xmmword [ebp - 0x21c], xmm0
movups xmmword [ebp - 0x20c], xmm0
movups xmmword [ebp - 0x1fc], xmm0
movups xmmword [ebp - 0x1ec], xmm0
movups xmmword [ebp - 0x1dc], xmm0
movups xmmword [ebp - 0x1cc], xmm0
movups xmmword [ebp - 0x1bc], xmm0
movups xmmword [ebp - 0x1ac], xmm0
movups xmmword [ebp - 0x19c], xmm0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x11
push eax
call fcn.100295b0
push 0
lea eax, [ebp - 0x5a8]
mov byte [ebp - 4], 0x12
push eax
mov eax, dword [ebp - 0x444]
push eax
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5a4], 0
push dword [eax + 0x40]
mov eax, dword [ebp - 0x3fc]
sub esp, 0x18
mov dword [ebp - 0x56c], 0
add eax, 0x18
mov dword [ebp - 0x568], 0
mov ecx, esp
mov dword [ebp - 0x564], 0
mov dword [ebp - 0x560], 0
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
push 0
lea eax, [ebp - 0x56c]
push eax
mov eax, dword [ebp - 0x444]
push eax
push dword [eax + 0x44]
mov eax, dword [ebp - 0x3fc]
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
push 0
lea eax, [ebp - 0x564]
xorps xmm0, xmm0
push eax
mov eax, dword [ebp - 0x444]
lea edx, [ebp - 0x18c]
push eax
push dword [eax + 0x48]
mov eax, dword [ebp - 0x178]
sub esp, 0x18
mov dword [ebp - 0x5ac], eax
mov ecx, esp
cmp eax, 7
mov eax, dword [ebp - 0x18c]
cmova edx, eax
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x44c], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp eax, 0x7ffffffe
ja 0x1003f8f9
cmp eax, 7
ja 0x1003da68
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
jmp 0x1003dad4
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x1003da79
mov eax, SysReAllocString
jmp 0x1003da84
cmp eax, 0xa
mov edx, 0xa
cmovb eax, edx
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x3e4]
push eax
push ecx
call fcn.10005fb0
mov ecx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x44c]
mov esi, dword [ebp - 0x404]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp - 0x3e4]
mov dword [esi + 0x14], ecx
lea ecx, [edx*2 + 2]
push ecx
push dword [ebp - 0x3f0]
push eax
call fcn.100607c0
mov esi, dword [ebp - 0x43c]
add esp, 0x14
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x560]
cmp dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x5a4]
cmovg ecx, dword [ebp - 0x568]
cmp edx, ecx
cmovg ecx, edx
add edi, ecx
mov ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x5a8]
mov eax, edi
push edi
push ecx
sub eax, edx
mov dword [ebp - 0x3d4], edi
push eax
push dword [ebp - 0x41c]
lea eax, [ebp - 0x21c]
push eax
call dword [ebp - 0x410]
mov edx, dword [ebp - 0x3fc]
xor edi, edi
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x56c]
cmp dword [edx + 0x40], edi
mov edx, dword [ebp - 0x3d4]
cmovne edi, dword [eax + 0x384]
mov eax, edx
add edi, dword [ebp - 0x5a8]
add edi, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x568]
add ecx, edi
push edx
push ecx
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x3d4]
neg ecx
push edx
sbb ecx, ecx
and ecx, dword [eax + 0x384]
mov eax, edx
add ecx, dword [ebp - 0x56c]
sub eax, dword [ebp - 0x560]
add edi, ecx
mov ecx, dword [ebp - 0x564]
add ecx, edi
push ecx
push eax
push edi
lea eax, [ebp - 0x1fc]
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x37c]
add eax, dword [ebp - 0x564]
add edi, eax
cmp dword [ebp - 0x408], edi
cmovg edi, dword [ebp - 0x408]
mov eax, edi
mov edi, dword [ebp - 0x3fc]
mov dword [ebp - 0x408], eax
add edi, 0x90
lea eax, [ebp - 0x5c4]
mov ecx, edi
push eax
call fcn.100298c0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x13
push eax
mov ecx, edi
call fcn.10029a40
lea eax, [ebp - 0x5b8]
mov byte [ebp - 4], 0x14
push eax
mov ecx, edi
call fcn.10029bf0
mov edi, dword [ebp - 0x444]
lea eax, [ebp - 0x4a4]
mov ecx, dword [ebp - 0x3fc]
push edi
mov byte [ebp - 4], 0x15
push dword [esi + 0x418]
lea ecx, [ecx + 0x138]
push eax
call fcn.1002a230
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x5c0]
mov edx, dword [ebp - 0x5c4]
cmp edx, eax
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0x3dc], eax
jne 0x1003dc9a
test eax, eax
jne 0x1003dc9a
mov eax, dword [ebp - 0x5b8]
cmp eax, dword [ebp - 0x5b4]
jne 0x1003dc9a
mov eax, dword [ebp - 0x4a4]
cmp eax, dword [ebp - 0x4a0]
je 0x1003e625
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], eax
cmp edx, dword [ebp - 0x404]
je 0x1003de4c
push edx
lea ecx, [ebp - 0xfc]
call fcn.10007d60
push 0
lea eax, [ebp - 0x58c]
mov byte [ebp - 4], 0x19
push eax
push edi
push dword [edi + 0x4c]
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x58c], 0
sub esp, 0x18
mov dword [ebp - 0x588], 0
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov edx, dword [ebp - 0x430]
cmp edx, dword [ebp - 0x438]
je 0x1003dd8d
mov eax, dword [ebp - 0x58c]
mov ecx, dword [ebp - 0x588]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x528], edx
jmp 0x1003ddb8
lea eax, [ebp - 0x58c]
push eax
push edx
lea ecx, [ebp - 0x52c]
call fcn.100403d0
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x430], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x398]
mov eax, dword [ebp - 0x588]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x3d8]
cmp ecx, eax
mov byte [ebp - 4], 0x18
cmovle ecx, eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x3d8], ecx
cmp eax, 7
jbe 0x1003de25
mov edx, dword [ebp - 0xfc]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003de15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
mov ecx, dword [ebp - 0x3d8]
add esp, 8
mov edx, dword [ebp - 0x3e4]
add edx, 0x18
mov dword [ebp - 0x3e4], edx
cmp edx, dword [ebp - 0x404]
jne 0x1003dd14
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x414], eax
mov edx, dword [ebp - 0x3dc]
test edx, edx
je 0x1003df4b
push 0
lea eax, [ebp - 0x54c]
xorps xmm0, xmm0
push eax
push edi
push dword [edi + 0x50]
lea ecx, [ebp - 0x34]
sub esp, 0x18
cmp dword [ebp - 0x3e0], 7
mov eax, esp
cmova ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x40c], ecx
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp edx, 0x7ffffffe
ja 0x1003f8f9
cmp edx, 7
ja 0x1003dec0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 7
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jmp 0x1003df29
mov ecx, edx
or ecx, 7
cmp ecx, 0x7ffffffe
jbe 0x1003ded4
mov ecx, SysReAllocString
jmp 0x1003dedf
cmp ecx, 0xa
mov edx, 0xa
cmovb ecx, edx
mov dword [ebp - 0x3e4], ecx
lea ecx, [ebp - 0x3e4]
push ecx
push eax
call fcn.10005fb0
mov edx, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x3dc]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x3e4]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x3dc]
mov dword [edx], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x40c]
push eax
call fcn.100607c0
add esp, 0x14
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [ebp - 0x548]
cmp dword [ebp - 0x3d8], eax
cmovg eax, dword [ebp - 0x3d8]
mov ecx, eax
mov dword [ebp - 0x3d8], ecx
mov eax, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0x5b4]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], edx
cmp eax, edx
je 0x1003e0a0
nop dword [eax + eax]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10007d60
push 0
lea eax, [ebp - 0x594]
mov byte [ebp - 4], 0x1a
push eax
push edi
push dword [edi + 0x54]
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x594], 0
sub esp, 0x18
mov dword [ebp - 0x590], 0
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov edx, dword [ebp - 0x434]
cmp edx, dword [ebp - 0x458]
je 0x1003dfe9
mov eax, dword [ebp - 0x594]
mov ecx, dword [ebp - 0x590]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x51c], edx
jmp 0x1003e014
lea eax, [ebp - 0x594]
push eax
push edx
lea ecx, [ebp - 0x520]
call fcn.100403d0
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x590]
cmp dword [ebp - 0x3d8], eax
cmovg eax, dword [ebp - 0x3d8]
mov ecx, eax
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x3d8], ecx
cmp eax, 7
jbe 0x1003e079
mov edx, dword [ebp - 0xfc]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e069
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
mov ecx, dword [ebp - 0x3d8]
add esp, 8
mov eax, dword [ebp - 0x3e4]
add eax, 0x18
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x3f0]
jne 0x1003df70
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x4a4]
cmp eax, dword [ebp - 0x4a0]
je 0x1003e0e5
push 0
lea ecx, [ebp - 0x554]
push ecx
push edi
push dword [eax + 0x30]
add eax, 0x18
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [ebp - 0x550]
cmp dword [ebp - 0x3d8], eax
cmovg eax, dword [ebp - 0x3d8]
mov ecx, eax
mov edx, dword [esi + 0x18]
mov edi, dword [ebp - 0x41c]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3d8], edi
mov eax, dword [edx + 0x388]
sub eax, dword [edx + 0x398]
xor edx, edx
add eax, ecx
mov dword [ebp - 0x404], edx
add eax, dword [ebp - 0x3d4]
xor ecx, ecx
mov dword [ebp - 0x448], eax
xor eax, eax
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x414]
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x430]
je 0x1003e26a
nop dword [eax + eax]
mov esi, dword [ebp - 0x3d0]
mov edx, dword [eax]
mov dword [ebp - 0x40c], edx
add edi, dword [esi + 0x398]
mov esi, dword [ebp - 0x448]
sub esi, dword [eax + 4]
mov eax, esi
mov dword [ebp - 0x3f0], esi
lea esi, [edi + edx]
mov dword [ebp - 0x5e0], edi
mov dword [ebp - 0x5d8], esi
mov esi, dword [ebp - 0x448]
mov dword [ebp - 0x5dc], eax
mov dword [ebp - 0x5d4], esi
cmp ecx, dword [ebp - 0x454]
je 0x1003e1e7
mov dword [ecx], edi
mov dword [ecx + 4], eax
lea eax, [edi + edx]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
add ecx, 0x10
mov dword [ebp - 0x510], ecx
jmp 0x1003e212
lea eax, [ebp - 0x5e0]
push eax
push ecx
lea ecx, [ebp - 0x514]
call fcn.10040060
mov eax, dword [ebp - 0x50c]
mov edx, dword [ebp - 0x40c]
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x454], eax
mov esi, dword [ebp - 0x43c]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3d0], eax
mov esi, dword [ebp - 0x3d0]
mov eax, dword [eax + 0x39c]
add eax, dword [esi + 0x398]
mov esi, dword [ebp - 0x43c]
add eax, edx
add edi, eax
mov eax, dword [ebp - 0x3e4]
add eax, 8
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x430]
jne 0x1003e180
mov edx, dword [ebp - 0x514]
mov dword [ebp - 0x3d8], edi
mov dword [ebp - 0x404], edx
sub ecx, edx
sar ecx, 4
push ecx
push edx
lea ecx, [ebp - 0x1ec]
call fcn.1003feb0
mov eax, dword [ebp - 0x414]
mov ecx, dword [esi + 0x18]
cmp eax, dword [ebp - 0x430]
je 0x1003e2a1
mov eax, dword [ecx + 0x3a4]
sub eax, dword [ecx + 0x39c]
add edi, eax
mov dword [ebp - 0x3d8], edi
mov edi, dword [ecx + 0x398]
add edi, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x54c]
mov eax, edi
mov edx, dword [ebp - 0x3d8]
add ecx, edx
sub eax, dword [ebp - 0x548]
push edi
push ecx
push eax
push edx
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x3d4], edi
push eax
call dword [ebp - 0x410]
mov edx, dword [ebp - 0x3dc]
mov eax, dword [esi + 0x18]
neg edx
mov ecx, dword [ebp - 0x3d8]
sbb edx, edx
and edx, dword [eax + 0x3a4]
add edx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x424]
add ecx, edx
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x434]
je 0x1003e3ee
mov edx, dword [ebp - 0x420]
nop
mov esi, dword [eax]
mov dword [ebp - 0x3dc], esi
mov esi, edi
sub esi, dword [eax + 4]
mov eax, dword [ebp - 0x3dc]
add eax, ecx
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x5ec], esi
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edi
cmp edx, dword [ebp - 0x450]
je 0x1003e36b
mov dword [edx], ecx
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], edi
add edx, 0x10
mov dword [ebp - 0x504], edx
jmp 0x1003e3a2
lea eax, [ebp - 0x5f0]
push eax
push edx
lea ecx, [ebp - 0x508]
call fcn.10040060
mov eax, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x504]
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x450], eax
mov esi, dword [ebp - 0x43c]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x3a0]
add eax, dword [ebp - 0x3dc]
add ecx, eax
mov eax, dword [ebp - 0x3e4]
add eax, 8
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x434]
jne 0x1003e320
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x3ec], ecx
jmp 0x1003e3f4
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x420]
sub eax, ecx
sar eax, 4
push eax
push ecx
lea ecx, [ebp - 0x1e0]
call fcn.1003feb0
mov eax, dword [ebp - 0x424]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0x3d8]
cmp eax, dword [ebp - 0x434]
je 0x1003e437
mov eax, dword [ecx + 0x3a4]
sub eax, dword [ecx + 0x3a0]
add edx, eax
mov dword [ebp - 0x3d8], edx
mov ecx, dword [ebp - 0x554]
mov eax, edi
sub eax, dword [ebp - 0x550]
add ecx, edx
push edi
mov edi, dword [ebp - 0x3d8]
push ecx
push eax
push edi
lea eax, [ebp - 0x1c4]
push eax
call dword [ebp - 0x410]
mov ecx, dword [esi + 0x18]
xor edx, edx
mov eax, dword [ebp - 0x4a4]
cmp eax, dword [ebp - 0x4a0]
cmove edx, dword [ecx + 0x3a4]
mov eax, dword [ecx + 0x37c]
sub eax, edx
mov edx, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x554]
add edi, eax
cmp dword [ebp - 0x408], edi
cmovg edi, dword [ebp - 0x408]
mov byte [ebp - 4], 0x1b
mov eax, edi
mov dword [ebp - 0x408], eax
test edx, edx
je 0x1003e4fa
mov ecx, dword [ebp - 0x450]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x1003e4d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x508], 0
mov dword [ebp - 0x504], 0
mov dword [ebp - 0x500], 0
mov edx, dword [ebp - 0x404]
mov byte [ebp - 4], 0x18
test edx, edx
je 0x1003e559
mov ecx, dword [ebp - 0x454]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x1003e531
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x50c], 0
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x424]
test edx, edx
je 0x1003e5bf
mov eax, dword [ebp - 0x458]
sub eax, edx
sar eax, 3
lea ecx, [eax*8]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e597
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
mov edx, dword [ebp - 0x414]
mov byte [ebp - 4], 0x16
test edx, edx
je 0x1003e625
mov eax, dword [ebp - 0x438]
sub eax, edx
sar eax, 3
lea ecx, [eax*8]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e5fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov ecx, dword [ebp - 0x3fc]
lea eax, [ebp - 0x5d0]
push eax
mov dword [ebp - 0x3d0], 0
lea ecx, [ecx + 0x90]
call fcn.10029fc0
xor eax, eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x40c], eax
cmp ecx, eax
je 0x1003e8d4
nop dword [eax]
xor edi, edi
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4ec], edi
mov dword [ebp - 0x4e8], edi
mov byte [ebp - 4], 0x1f
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov byte [ebp - 0x3f1], 1
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], ecx
cmp eax, ecx
je 0x1003e7f3
nop dword [eax]
push eax
lea ecx, [ebp - 0xfc]
call fcn.10007d60
cmp byte [ebp - 0x3f1], 0
mov eax, dword [ebp - 0x444]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x55c], 0
mov dword [ebp - 0x558], 0
je 0x1003e708
mov ecx, dword [eax + 0x58]
jmp 0x1003e70b
mov ecx, dword [eax + 0x5c]
push 0
lea edx, [ebp - 0x55c]
push edx
push eax
push ecx
sub esp, 0x18
lea eax, [ebp - 0xfc]
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
cmp edi, dword [ebp - 0x4e8]
je 0x1003e752
mov eax, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x558]
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 0x4ec], edi
jmp 0x1003e76b
lea eax, [ebp - 0x55c]
push eax
push edi
lea ecx, [ebp - 0x4f0]
call fcn.100403d0
mov edi, dword [ebp - 0x4ec]
cmp byte [ebp - 0x3f1], 0
je 0x1003e794
mov eax, dword [ebp - 0x55c]
cmp dword [ebp - 0x3d0], eax
mov byte [ebp - 0x3f1], 0
cmovg eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d0], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xe8]
cmp ecx, 7
jbe 0x1003e7d8
mov edx, dword [ebp - 0xfc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003e7ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov eax, dword [ebp - 0x3e4]
add eax, 0x18
mov dword [ebp - 0x3e4], eax
cmp eax, dword [ebp - 0x3f0]
jne 0x1003e6d0
mov edi, dword [ebp - 0x434]
lea eax, [ebp - 0x4f0]
push eax
cmp edi, dword [ebp - 0x450]
je 0x1003e823
mov edx, edi
call fcn.10040cb0
add esp, 4
add edi, 0xc
mov dword [ebp - 0x434], edi
mov dword [ebp - 0x474], edi
jmp 0x1003e847
push edi
lea ecx, [ebp - 0x478]
call fcn.100401c0
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x434], eax
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x4f0]
test ecx, ecx
je 0x1003e8ad
mov eax, dword [ebp - 0x4e8]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
mov eax, ecx
cmp edx, 0x1000
jb 0x1003e885
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push edx
push ecx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4e8], 0
mov ecx, dword [ebp - 0x404]
add ecx, 0xc
mov dword [ebp - 0x404], ecx
cmp ecx, dword [ebp - 0x40c]
jne 0x1003e690
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x414], eax
xor edi, edi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x424], edi
mov dl, 1
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x48c], edi
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x414]
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x3d8], eax
cmp eax, dword [ebp - 0x434]
je 0x1003ed9f
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x3d0], ecx
mov ecx, dword [esi + 0x18]
test dl, dl
je 0x1003e937
mov ecx, dword [ecx + 0x388]
jmp 0x1003e93d
mov ecx, dword [ecx + 0x3a8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3e4], ecx
mov byte [ebp - 0x3f2], 0
mov edi, dword [edx + 4]
mov ecx, edi
cmp edi, dword [edx + 0xc]
cmovle ecx, dword [edx + 0xc]
add ecx, dword [ebp - 0x3e4]
add eax, ecx
mov ecx, dword [ebp - 0x3d0]
sub ecx, dword [edx]
lea edx, [ebp - 0x164]
mov dword [ebp - 0x3d4], eax
sub eax, edi
mov edi, dword [ebp - 0x3d4]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x16c], eax
xor eax, eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x174]
sub edx, eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x3f0], edx
xor ecx, ecx
sar edx, 4
xor eax, eax
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x3e4], eax
test edx, edx
je 0x1003ea34
cmp edx, 0xfffffff
ja 0x1003f908
push edx
lea ecx, [ebp - 0x46c]
call fcn.10027200
push dword [ebp - 0x3f0]
lea eax, [ebp - 0x174]
push eax
mov eax, dword [ebp - 0x46c]
push eax
mov dword [ebp - 0x418], eax
call fcn.100607c0
mov ecx, dword [ebp - 0x40c]
add esp, 0xc
shl ecx, 4
add ecx, dword [ebp - 0x418]
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x3e4], ecx
mov byte [ebp - 4], 0x22
mov eax, dword [esi + 0x18]
mov esi, edi
mov dword [ebp - 0x5f4], edi
mov edx, dword [eax + 0x3ac]
mov eax, dword [ebp - 0x3d8]
add edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x600], edx
mov eax, dword [eax]
sub esi, dword [eax + 0xc]
mov dword [ebp - 0x404], esi
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x404]
add esi, edx
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3f0], esi
mov dword [ebp - 0x5f8], esi
mov esi, dword [ebp - 0x43c]
cmp eax, dword [ebp - 0x464]
je 0x1003eac5
mov esi, dword [ebp - 0x404]
add ecx, 0x10
mov dword [eax], edx
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x3f0]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x43c]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x468], ecx
jmp 0x1003eaf0
lea ecx, [ebp - 0x600]
push ecx
push eax
lea ecx, [ebp - 0x46c]
call fcn.10040060
mov eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x420], 2
mov eax, dword [eax]
mov dword [ebp - 0x3dc], eax
mov eax, dword [eax + 8]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x3d8]
mov eax, dword [eax + 4]
sub eax, dword [ebp - 0x3dc]
sar eax, 3
cmp eax, 2
jbe 0x1003ec2f
mov esi, dword [ebp - 0x3dc]
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x420]
shl eax, 3
mov dword [ebp - 0x3e4], eax
mov edi, eax
mov dword [ebp - 0x15c], edx
mov eax, dword [eax + esi]
add eax, edx
mov esi, dword [edi + esi + 4]
mov edi, dword [ebp - 0x3d4]
add esi, edi
mov dword [ebp - 0x3f0], esi
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], esi
cmp ecx, dword [ebp - 0x464]
je 0x1003eba4
mov dword [ecx], edx
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ecx + 0xc], eax
add ecx, 0x10
mov dword [ebp - 0x468], ecx
jmp 0x1003ebc3
lea eax, [ebp - 0x15c]
push eax
push ecx
lea ecx, [ebp - 0x46c]
call fcn.10040060
mov ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3d8]
mov esi, dword [ebp - 0x3e4]
mov eax, dword [eax]
mov dword [ebp - 0x3dc], eax
add edi, dword [eax + esi + 4]
mov eax, dword [eax + esi]
mov esi, dword [ebp - 0x448]
cmp esi, eax
mov dword [ebp - 0x3d4], edi
cmovle esi, eax
mov eax, dword [ebp - 0x3d8]
inc dword [ebp - 0x420]
mov dword [ebp - 0x448], esi
mov esi, dword [ebp - 0x3dc]
mov eax, dword [eax + 4]
sub eax, esi
sar eax, 3
cmp dword [ebp - 0x420], eax
jb 0x1003eb40
mov edx, dword [ebp - 0x46c]
mov esi, dword [ebp - 0x43c]
mov dword [ebp - 0x418], edx
jmp 0x1003ec35
mov edx, dword [ebp - 0x418]
mov edi, dword [ebp - 0x424]
cmp edi, dword [ebp - 0x44c]
je 0x1003ecc2
sub ecx, edx
mov dword [edi], 0
mov eax, ecx
mov dword [edi + 4], 0
sar eax, 4
mov dword [edi + 8], 0
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x40c], eax
test eax, eax
je 0x1003ecb7
cmp eax, 0xfffffff
ja 0x1003f908
push eax
mov ecx, edi
call fcn.10027200
push dword [ebp - 0x3f0]
mov eax, dword [ebp - 0x418]
mov edi, dword [edi]
push eax
push edi
call fcn.100607c0
mov eax, dword [ebp - 0x40c]
add esp, 0xc
mov edx, dword [ebp - 0x418]
shl eax, 4
add eax, edi
mov edi, dword [ebp - 0x424]
mov dword [edi + 4], eax
add edi, 0xc
mov dword [ebp - 0x48c], edi
jmp 0x1003eced
lea eax, [ebp - 0x46c]
push eax
push edi
lea ecx, [ebp - 0x490]
call fcn.10040aa0
mov eax, dword [ebp - 0x488]
mov edi, dword [ebp - 0x48c]
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x44c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x424], edi
mov eax, dword [eax + 0x37c]
add eax, dword [ebp - 0x448]
add ecx, eax
cmp dword [ebp - 0x408], ecx
cmovg ecx, dword [ebp - 0x408]
mov byte [ebp - 4], 0x21
mov eax, ecx
mov dword [ebp - 0x408], eax
test edx, edx
je 0x1003ed78
mov ecx, dword [ebp - 0x464]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x1003ed50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov eax, dword [ebp - 0x3d8]
mov dl, byte [ebp - 0x3f2]
add eax, 0xc
mov dword [ebp - 0x3d8], eax
cmp eax, dword [ebp - 0x434]
jne 0x1003e928
mov ecx, dword [ebp - 0x490]
sub edi, ecx
mov eax, 0x2aaaaaab
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x1b4]
call fcn.1003fc60
mov ecx, dword [ebp - 0x4a0]
mov eax, 0x4ec4ec4f
sub ecx, dword [ebp - 0x4a4]
mov edi, dword [ebp - 0x3d4]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x1003f375
mov eax, dword [esi + 0x18]
xorps xmm0, xmm0
push 0
add edi, dword [eax + 0x388]
lea eax, [ebp - 0x460]
push eax
mov eax, dword [ebp - 0x444]
push eax
push dword [eax + 0x60]
sub esp, 0x18
mov ecx, esp
push 0xe
movups xmmword [ecx], xmm0
push str.More_Languages
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10006020
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x460]
add ecx, edi
mov edx, dword [ebp - 0x41c]
add eax, edx
push ecx
push eax
push edi
push edx
lea eax, [ebp - 0x1a8]
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
add edi, dword [ebp - 0x45c]
mov dword [ebp - 0x3d4], edi
mov dword [ebp - 0x420], 0
mov eax, dword [eax + 0x37c]
add eax, dword [ebp - 0x41c]
add eax, dword [ebp - 0x460]
cmp dword [ebp - 0x408], eax
cmovg eax, dword [ebp - 0x408]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x408], ecx
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0x23
mov eax, 0x4ec4ec4f
mov ecx, dword [ebp - 0x4a0]
sub ecx, dword [ebp - 0x4a4]
imul ecx
mov dword [ebp - 0x3d0], 1
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x1003f085
mov edi, dword [ebp - 0x444]
mov eax, 0x34
mov dword [ebp - 0x3dc], eax
nop dword [eax]
nop dword [eax + eax]
add eax, dword [ebp - 0x4a4]
lea ecx, [ebp - 0x498]
push 0
push ecx
push edi
push dword [edi + 0x58]
mov dword [ebp - 0x498], 0
sub esp, 0x18
mov dword [ebp - 0x494], 0
mov ecx, esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [ebp - 0x498]
cmp dword [ebp - 0x420], eax
mov edx, dword [ebp - 0x3dc]
cmovg eax, dword [ebp - 0x420]
push 0
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x4a4]
push edi
push dword [edx + eax + 0x30]
add edx, 0x18
sub esp, 0x18
add eax, edx
mov ecx, esp
push eax
call fcn.10007d60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x498]
mov edx, dword [ebp - 0x494]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x13c], eax
mov eax, esi
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x3e4], esi
cmp eax, dword [ebp - 0x3ec]
je 0x1003f006
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3f0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x3e4]
mov dword [eax + 0xc], ecx
add eax, 0x10
mov dword [ebp - 0x534], eax
jmp 0x1003f02b
lea ecx, [ebp - 0x144]
push ecx
push eax
lea ecx, [ebp - 0x538]
call fcn.10040060
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x534]
mov ecx, dword [ebp - 0x4a0]
sub ecx, dword [ebp - 0x4a4]
add dword [ebp - 0x3dc], 0x34
inc dword [ebp - 0x3d0]
mov esi, dword [ebp - 0x43c]
mov dword [ebp - 0x424], eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3dc]
jb 0x1003ef10
mov eax, dword [ebp - 0x538]
mov edi, dword [ebp - 0x3d4]
mov dword [ebp - 0x3dc], eax
xor edx, edx
mov byte [ebp - 0x3f2], 1
xor ecx, ecx
mov dword [ebp - 0x3e4], edx
xor eax, eax
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x53c], eax
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x3dc]
cmp eax, dword [ebp - 0x424]
je 0x1003f2a5
mov eax, dword [ebp - 0x420]
add eax, dword [ebp - 0x41c]
mov edx, dword [ebp - 0x3dc]
add edx, 8
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x430], edx
nop dword [eax]
cmp byte [ebp - 0x3f2], 0
mov eax, dword [esi + 0x18]
je 0x1003f104
mov eax, dword [eax + 0x3b0]
jmp 0x1003f10a
mov eax, dword [eax + 0x3a8]
mov edx, dword [edx + 4]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x430]
mov byte [ebp - 0x3f2], 0
mov ecx, dword [eax - 4]
cmp ecx, edx
mov eax, ecx
cmovle eax, edx
add eax, dword [ebp - 0x3e4]
add edi, eax
mov eax, edi
mov dword [ebp - 0xf8], edi
sub eax, ecx
mov dword [ebp - 0xe8], edi
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x40c], eax
mov eax, dword [ebp - 0x41c]
sub eax, dword [ecx - 8]
add eax, dword [ebp - 0x420]
mov ecx, dword [esi + 0x18]
mov esi, dword [ebp - 0x404]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x430]
mov ecx, dword [ecx + 0x3ac]
add ecx, dword [ebp - 0x41c]
add ecx, dword [ebp - 0x420]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x44c], eax
mov eax, edi
sub eax, edx
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e4], eax
mov ecx, eax
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], esi
cmp ecx, dword [ebp - 0x448]
je 0x1003f21a
mov dword [ecx], edx
mov edx, dword [ebp - 0x454]
mov dword [ecx + 4], eax
mov eax, esi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x3e4]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x44c]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edi
add ecx, 0x20
mov dword [ebp - 0x540], ecx
jmp 0x1003f245
lea eax, [ebp - 0x104]
push eax
push ecx
lea ecx, [ebp - 0x544]
call fcn.10040930
mov eax, dword [ebp - 0x53c]
mov ecx, dword [ebp - 0x540]
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x448], eax
mov esi, dword [ebp - 0x43c]
mov dword [ebp - 0x3d0], ecx
mov eax, dword [esi + 0x18]
mov esi, dword [ebp - 0x430]
mov eax, dword [eax + 0x37c]
add eax, dword [esi]
add edx, eax
cmp dword [ebp - 0x408], edx
cmovg edx, dword [ebp - 0x408]
mov eax, edx
mov edx, esi
mov esi, dword [ebp - 0x43c]
add edx, 0x10
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x430], edx
lea eax, [edx - 8]
cmp eax, dword [ebp - 0x424]
jne 0x1003f0f0
mov edx, dword [ebp - 0x544]
mov dword [ebp - 0x3e4], edx
sub ecx, edx
sar ecx, 5
push ecx
push edx
lea ecx, [ebp - 0x198]
call fcn.1003fb00
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x3e4]
test edx, edx
je 0x1003f316
mov ecx, dword [ebp - 0x448]
mov eax, edx
sub ecx, edx
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x1003f2ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x544], 0
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], 0
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x3dc]
test edx, edx
je 0x1003f375
mov ecx, dword [ebp - 0x3ec]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x1003f34d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x530], 0
mov eax, dword [esi + 0x360]
lea ecx, [esi + 0x35c]
cmp eax, dword [ecx + 8]
je 0x1003f3a0
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.10026a10
add dword [esi + 0x360], 0x90
jmp 0x1003f3ad
lea edx, [ebp - 0x21c]
push edx
push eax
call fcn.100406f0
mov eax, dword [esi + 0x18]
lea ecx, [ebp - 0x490]
add edi, dword [eax + 0x3b4]
mov dword [ebp - 0x3d4], edi
call fcn.10025850
mov eax, dword [ebp - 0x414]
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x1003f458
mov edx, dword [ebp - 0x434]
push ecx
mov ecx, eax
call fcn.1003fff0
mov ecx, dword [ebp - 0x450]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x414]
add esp, 4
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x414]
lea ecx, [eax + eax*2]
mov eax, edx
shl ecx, 2
cmp ecx, 0x1000
jb 0x1003f430
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0
lea ecx, [ebp - 0x5d0]
call fcn.10025380
lea ecx, [ebp - 0x4a4]
call fcn.10025400
lea ecx, [ebp - 0x5b8]
call fcn.10011580
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x3e0]
cmp eax, 7
jbe 0x1003f4bd
mov edx, dword [ebp - 0x42c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f4b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
lea ecx, [ebp - 0x5c4]
call fcn.10011580
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x5ac]
cmp ecx, 7
jbe 0x1003f50c
mov edx, dword [ebp - 0x4c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1003f502
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 8
call fcn.100265b0
mov ecx, dword [ebp - 0x3fc]
add ecx, 0x1b0
mov dword [ebp - 0x3fc], ecx
cmp ecx, dword [ebp - 0x3f8]
jne 0x1003d8f0
mov eax, dword [ebp - 0x59c]
mov edx, dword [esi + 0x18]
mov ecx, dword [ebp - 0x5a0]
mov dword [ebp - 0x3f8], eax
lea eax, [esi + 0x34c]
cmp ecx, dword [ebp - 0x3f8]
jne 0x1003f568
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
jmp 0x1003f5da
mov ecx, dword [edx + 0x380]
sub ecx, dword [edx + 0x3b4]
mov edi, dword [esi + 0x3c]
add ecx, edi
mov eax, dword [esi + 0x18]
add ecx, dword [ebp - 0x3d4]
mov edx, dword [esi + 0x68]
mov eax, dword [eax + 0x1a0]
add eax, ecx
cmp edx, eax
cmovle edx, eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x68], edx
mov ecx, dword [eax + 0x1a0]
sub edx, ecx
mov eax, dword [ebp - 0x408]
sub edx, edi
inc eax
inc edx
push edx
push eax
lea eax, [ecx - 1]
add eax, edi
push eax
push dword [ebp - 0x428]
lea eax, [esi + 0x34c]
push eax
call dword [ebp - 0x410]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x1a0]
add eax, dword [esi + 0x38]
add eax, dword [ebp - 0x408]
mov dword [esi + 0x64], eax
push dword [esi + 0x68]
lea eax, [esi + 0x33c]
push dword [esi + 0x64]
push 0
push 0
push eax
call dword [ebp - 0x410]
lea eax, [esi + 0x33c]
push eax
lea edi, [esi + 0x32c]
push edi
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 8]
not eax
push eax
mov eax, dword [esi + 4]
not eax
push eax
push edi
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esi + 0x18]
lea edi, [esi + 0x33c]
mov eax, dword [eax + 0x1a0]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
sub eax, dword [esi + 4]
sub ecx, dword [esi + 8]
push ecx
push eax
push edi
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esi + 0x18]
test byte [eax + 0x1a0], 1
jne 0x1003f654
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
call dword [sym.imp.USER32.dll_InflateRect]
mov edx, dword [ebp - 0x4fc]
test edx, edx
je 0x1003f6af
mov ecx, dword [ebp - 0x4f4]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f687
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4f4], 0
mov edx, dword [ebp - 0x4cc]
test edx, edx
je 0x1003f70a
mov ecx, dword [ebp - 0x4c4]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f6e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 0
mov edx, dword [ebp - 0x4d8]
test edx, edx
je 0x1003f765
mov ecx, dword [ebp - 0x4d0]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f73d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x4d0], 0
mov edx, dword [ebp - 0x4e4]
test edx, edx
je 0x1003f7c0
mov ecx, dword [ebp - 0x4dc]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f798
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f90d
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 0
mov edx, dword [ebp - 0x4b0]
test edx, edx
je 0x1003f81b
mov ecx, dword [ebp - 0x4a8]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f7f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f912
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4b0], 0
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
mov edx, dword [ebp - 0x484]
test edx, edx
je 0x1003f876
mov ecx, dword [ebp - 0x47c]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f84e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f912
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x47c], 0
mov edx, dword [ebp - 0x4bc]
test edx, edx
je 0x1003f8d1
mov ecx, dword [ebp - 0x4b4]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1003f8a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003f912
push ecx
push edx
call fcn.1005a775
add esp, 8
mov dword [ebp - 0x4bc], 0
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0
lea ecx, [ebp - 0x5a0]
call fcn.10025480
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.1005a767
mov esp, ebp
pop ebp
ret 8
call fcn.100060c0
call fcn.1000cb60
call fcn.10007e10
call fcn.10011d30
call fcn.1006a55f
call fcn.1006a55f
int3