Function at 0x10024531
Capabilities:
Resolve function by parsing pe exports
Suspend thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006b02c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1104
call fcn.10065ef0
mov dword [esp + 0x68], ecx
xor ecx, ecx
push ebx
xor ebx, ebx
inc ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 0x34d8a94b
mov dword [esp + 0x14], ecx
mov dword [esp + 0x14], 0x24ce5545
mov dword [esp + 0x14], 7
mov dword [esp + 0x14], ebx
push esi
push edi
or edi, 0xffffffff
mov esi, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0x2d7bc352
push 0xfffffffffffffff6
pop eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0xbc4aee50
mov dword [esp + 0x1c], 0x3659ea4d
mov dword [esp + 0x1c], 0xfffffffa
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0x1c36b586
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], 0xffffffe5
mov dword [esp + 0x68], esi
je 0x10024938
push 2
lea ecx, [esp + 0x104]
call fcn.100140c9
mov dword [esp + 0x111c], ebx
mov dword [esp + 0x1c], 0xb57a67d9
mov dword [esp + 0x34], 0xa928
mov dword [esp + 0x10], ebx
jmp 0x1002461f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0xba2afe01
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10024609
mov dword [esp + 0x10], ebx
jmp 0x1002463f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xa8], 0xdae8c9f3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1002462c
mov dword [esp + 0xac], ebx
jmp 0x1002465c
cmp dword [esp + 0x24], ebx
jne 0x10024666
inc dword [esp + 0xac]
cmp dword [esp + 0xac], 1
jle 0x1002464f
mov dword [esp + 0x28], 0x20da
cmp dword [esp + 0x28], 0x86b
jge 0x100248eb
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xc0]
push eax
push 0x1000c2bc
call fcn.10050cbb
add esp, 0xc
cmp dword [esp + 0xbc], 0
jne 0x100246b1
cmp dword [esp + 0xb8], 0
je 0x100248e8
lea eax, [esp + 0xb4]
push eax
push 0x1000c288
call fcn.10050cbb
push 0x1b9
lea eax, [esp + 0x364]
push ebx
push eax
call fcn.1001391d
add esp, 0x14
lea eax, [esp + 0x7a8]
push 0x1b9
push ebx
push eax
call fcn.1001391d
add esp, 0xc
mov dword [esp + 0x30], ebx
cmp dword [esp + 0xb4], 0
jle 0x100247f2
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x8c]
push eax
push 0x1000c560
call fcn.10050cbb
mov edi, dword [esp + 0x94]
add esp, 0x14
mov ecx, dword [esp + 0xc8]
cmp edi, ecx
jle 0x10024754
mov eax, edi
mov edi, ecx
mov ecx, eax
mov dword [esp + 0x80], edi
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0xcc]
cmp edx, esi
jle 0x1002477c
mov eax, edx
mov edx, esi
mov esi, eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xcc], esi
cmp edx, esi
jge 0x100247b9
imul eax, edi, 0x15
lea ebx, [esp + 0x358]
add eax, edx
add eax, ebx
mov dword [esp + 0x28], eax
imul eax, ecx, 0x15
add eax, edx
add eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, esi
mov edi, dword [esp + 0x38]
sub eax, edx
mov byte [edi], 1
inc edi
mov byte [ebx], 1
inc ebx
dec eax
jne 0x100247a7
mov edi, dword [esp + 0x80]
cmp edi, ecx
jge 0x100247da
imul eax, edi, 0x15
sub esi, edx
add eax, edx
sub ecx, edi
lea eax, [esp + eax + 0x7a8]
mov byte [eax + esi], 1
mov byte [eax], 1
lea eax, [eax + 0x15]
dec ecx
jne 0x100247cd
mov esi, dword [esp + 0x30]
inc esi
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0xb4]
jl 0x10024701
xor ebx, ebx
mov esi, dword [esp + 0xbc]
mov ecx, esi
mov edi, dword [esp + 0xb8]
imul ecx, edi
mov dword [esp + 0x14], edi
call fcn.1002444b
cmp edi, 1
jle 0x10024879
mov ecx, esi
lea eax, [esp + 0x36d]
mov edx, ebx
mov dword [esp + 0x2c], ecx
dec edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], edi
mov edi, ebx
test esi, esi
jle 0x1002485c
mov ebx, dword [esp + 0x2c]
cmp byte [eax + edi], 0
jne 0x10024851
add edx, edi
lea ecx, [ebx + edi]
call fcn.10024496
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
inc edi
cmp edi, esi
jl 0x10024839
mov ecx, dword [esp + 0x2c]
xor ebx, ebx
add eax, 0x15
add edx, esi
add ecx, esi
mov dword [esp + 0x30], eax
dec dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], ecx
jne 0x1002482f
mov edi, dword [esp + 0x14]
test edi, edi
jle 0x100248d1
mov ecx, ebx
lea eax, [esp + 0x7a8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
xor ebx, ebx
inc ebx
cmp esi, ebx
jle 0x100248bb
mov edi, dword [esp + 0x2c]
cmp byte [eax + ebx], 0
jne 0x100248ae
lea ecx, [edi + ebx]
lea edx, [ecx - 1]
call fcn.10024496
mov eax, dword [esp + 0x30]
inc ebx
cmp ebx, esi
jl 0x10024899
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
add eax, 0x15
add ecx, esi
dec edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
jne 0x1002488e
xor ebx, ebx
push dword [0x1065c3c8]
push 0x1000c2c4
call fcn.10050eef
pop ecx
pop ecx
jmp 0x1002467c
or edi, 0xffffffff
dec dword [esp + 0x34]
mov dword [esp + 0x111c], edi
cmp dword [esp + 0x100], 0
je 0x10024922
push dword [esp + 0x100]
call fcn.10051057
pop ecx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xffffffe5
jne 0x100245de
mov esi, dword [esp + 0x68]
xor ecx, ecx
inc ecx
mov eax, dword [0x106c3de0]
test cl, al
jne 0x100249dc
or eax, ecx
mov dword [0x106c3de0], eax
push ebx
mov dword [esp + 0x1120], ecx
push ebx
mov dword [0x106c3dc0], ebx
mov dword [0x106c3dc4], ebx
call fcn.1001899c
mov dword [0x106c3dc0], eax
mov dword [0x106c3dc8], ebx
mov dword [0x106c3dd0], ebx
mov byte [esp + 0x111c], 3
mov ecx, 0x106c3dc8
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1dc]
push eax
push 0x10
push ebx
lea eax, [esp + 0x200]
mov dword [0x106c3ddc], 0x3f800000
push eax
mov dword [0x106c3dcc], ebx
call fcn.10018774
push 0x1006bb15
mov dword [0x106c3dd4], 7
mov dword [0x106c3dd8], 8
call fcn.10050ec5
pop ecx
xor ecx, ecx
mov dword [esp + 0x111c], edi
inc ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], 0x1e01b17d
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x58], 0x5bbbdebf
mov dword [esp + 0x1c], 0xfffffff8
mov dword [esp + 0x28], 0xfffffff7
mov dword [esp + 0x90], edi
mov dword [esp + 0x20], 0x3c576436
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], 0x80ae7b1b
mov dword [esp + 0x1c], 0xfffe
mov dword [esp + 0x24], 0xa9b924e1
mov dword [esp + 0x24], ebx
jmp 0x10024a58
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x1f0], ebx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], ecx
jl 0x10024a49
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x14]
cmp ecx, eax
setge dl
add edx, dword [esp + 0x14]
jne 0x10024ae8
dec dword [esp + 0x34]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x58]
cmp eax, ecx
mov eax, dword [esp + 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x1c]
push 5
setg cl
mov dword [esp + 0x5c], ecx
xor ecx, ecx
cmp dword [esp + 0x5c], eax
pop eax
setle cl
xor edx, edx
sub eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xfffffff8
setne al
xor edx, edx
sub eax, 0x731e
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
cmp eax, ecx
setg dl
cmp edx, 1
jg 0x10024ae8
mov eax, ebx
jmp 0x10024aeb
xor eax, eax
inc eax
cmp eax, dword [esp + 0x28]
je 0x10024afc
cmp dword [esp + 0x38], ebx
je 0x10024afc
xor ecx, ecx
inc ecx
jmp 0x10024afe
mov ecx, ebx
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x2c]
imul eax, ecx
test eax, eax
je 0x10024b2f
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10024c1b
push ebx
push 0xc19
push ebx
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
jmp 0x10024c1b
mov dword [esp + 0x10], 1
mov dword [esp + 0x20], ebx
jmp 0x10024b9c
push 3
lea ecx, [esp + 0x16c]
call fcn.100140c9
mov dword [esp + 0x24], ebx
jmp 0x10024b67
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x168]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x10024b51
mov eax, dword [esp + 0x168]
push eax
mov dword [eax + 8], 0x1cd1ac8c
call fcn.10051057
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
inc dword [esp + 0x24]
pop ecx
cmp dword [esp + 0x20], ebx
jle 0x10024b3d
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], 0xe88f
jne 0x10024bb4
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
mov eax, dword [esp + 0x10]
setge dl
sub edx, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
je 0x10024c0f
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x74], 0x2710
add eax, esi
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
push eax
call fcn.1002682c
mov esi, dword [eax]
mov dword [esp + 0x24], 0x4e064826
mov dword [esp + 0x28], 0x6e9f
mov dword [esp + 0x1c], 8
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10024c6c
push ebx
push ebx
push 0x5f2
push ebx
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov dword [esp + 0x24], ebx
jmp 0x10024dfe
push 2
lea ecx, [esp + 0xd4]
call fcn.100140c9
mov dword [esp + 0x111c], 4
mov dword [esp + 0x10], ebx
jmp 0x10024ca7
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x204], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10024c94
push 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x10024ccd
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10024cb7
mov eax, dword [esp + 0xd0]
mov dword [eax], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jmp 0x10024dbe
push 3
lea ecx, [esp + 0x134]
call fcn.100140c9
mov dword [esp + 0x14], ebx
jmp 0x10024d13
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10024d01
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x28]
cmp eax, 0x289fff12
setl cl
xor eax, eax
cmp ecx, 1
setge al
sub eax, dword [esp + 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
jne 0x10024d4a
mov eax, dword [esp + 0x20c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x130]
cmp dword [eax], ebx
je 0x10024d68
cmp dword [esp + 0x20], ebx
je 0x10024d68
xor edx, edx
inc edx
jmp 0x10024d6a
mov edx, ebx
mov eax, dword [esp + 0xd0]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x204]
cmp eax, edx
push dword [esp + 0x130]
setge cl
xor eax, eax
cmp ecx, 0x2bf3
setne al
add eax, 0x791f9e6a
mov dword [esp + 0x20], eax
call fcn.10051057
pop ecx
push 2
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
inc dword [esp + 0x24]
pop edx
cmp dword [esp + 0x20], edx
jle 0x10024ced
mov eax, dword [esp + 0xd0]
dec dword [eax]
jns 0x10024cdc
push eax
mov dword [esp + 0x1120], edi
call fcn.10051057
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
dec dword [esp + 0x28]
pop ecx
cmp dword [esp + 0x24], 0xffffffed
jle 0x10024c75
test esi, esi
je 0x10024ff0
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], 0x350d8af8
mov dword [esp + 0x1c], 0x4bd47cdd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
imul eax, dword [esp + 0x10]
neg ecx
sub eax, ecx
mov ecx, 0x9dcee34e
sub eax, 6
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edi
setle cl
xor edx, edx
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x20]
setne cl
xor edx, edx
cmp ecx, 0x5d56974e
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [esp + 0x20]
jg 0x10024ea8
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x1c], 0x2a1c41f3
mov dword [esp + 0x20], ebx
jmp 0x10024f9d
mov dword [esp + 0x24], 0x7d2ae857
lea ecx, [esp + 0x118]
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], 0x1ffde63b
push 4
call fcn.100140c9
mov dword [esp + 0x14], ebx
jmp 0x10024ee6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 0xce61fa7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10024ed0
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
cmp ecx, eax
mov eax, dword [esp + 0x10]
mov ecx, 0x9db2213a
setge dl
sub eax, edx
sub eax, dword [esp + 0x10]
cmp ecx, eax
sbb eax, eax
inc eax
neg eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [esp + 0x24]
mov eax, dword [esp + 0x118]
test edx, edx
setns cl
mov dword [eax + 8], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
push dword [esp + 0x118]
neg eax
add eax, eax
mov dword [esp + 0x2c], eax
call fcn.10051057
pop ecx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x14], ebx
jmp 0x10024fca
cmp byte [esp + 0x1b], 0
je 0x10024fc6
push 0x2558
push 0x75b
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff6
mov byte [esp + 0x1b], bl
jl 0x10024fae
cmp byte [esp + 0x1b], 0
je 0x1002666b
push 0x1e2f
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
jmp 0x1002666b
mov dword [esp + 0x14], 0x3342eb9
xor eax, eax
mov dword [esp + 0x1c], 0x9aed23b6
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0xd1d8f8f5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 3
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 7
jmp 0x10025071
mov dword [esp + 0x1c], 0x565e
mov dword [esp + 0x1c], 0xfffffffc
mov dword [esp + 0x28], 0x84bc
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10025069
push 0x1d5a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
inc dword [esp + 0x28]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 8
jne 0x1002502d
mov eax, dword [0x106c3de0]
test al, 2
jne 0x1002511e
or eax, 2
mov dword [0x106c3de0], eax
push ebx
mov dword [esp + 0x1120], 5
push ebx
mov dword [0x106c3df0], ebx
mov dword [0x106c3df4], ebx
call fcn.1001899c
mov dword [0x106c3df0], eax
mov dword [0x106c3df8], ebx
mov dword [0x106c3e00], ebx
mov byte [esp + 0x111c], 7
mov ecx, 0x106c3df8
mov dword [esp + 0x164], eax
lea eax, [esp + 0x164]
push eax
push 0x10
push ebx
lea eax, [esp + 0x1b0]
mov dword [0x106c3e0c], 0x3f800000
push eax
mov dword [0x106c3dfc], ebx
call fcn.10018774
push 0x1006bb10
mov dword [0x106c3e04], 7
mov dword [0x106c3e08], 8
call fcn.10050ec5
pop ecx
mov dword [esp + 0x111c], edi
xorps xmm0, xmm0
movdqu xmmword [esp + 0x1cc], xmm0
mov dword [esp + 0x10], 0xac64a684
mov dword [esp + 0x14], ebx
jmp 0x10025148
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x3c], 0x274bf90e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10025138
mov dword [esp + 0x10], ebx
jmp 0x10025165
mov dword [esp + 0x28], 0x39924432
dec dword [esp + 0x28]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x17
jne 0x10025155
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x10025406
mov dword [esp + 0x20], 0x4f27d270
lea ecx, [esp + 0xdc]
push 3
call fcn.100140c9
mov dword [esp + 0x111c], 8
mov dword [esp + 0x14], ebx
jmp 0x100251b7
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], 0x6c4a87fc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x100251a1
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10025241
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0xdc]
mov dword [eax], 1
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x10]
imul edx, dword [esp + eax*4 + 0x3c], 0x4868
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x3c]
cmp edx, eax
setne cl
imul eax, ecx, 0xa
sub eax, 5
jne 0x10025230
mov eax, dword [esp + 0x20]
cmp dword [esp + eax*4 + 0x3c], ebx
jne 0x10025230
mov eax, dword [esp + 0x20]
cmp dword [esp + eax*4 + 0x3c], ebx
jne 0x10025230
mov ecx, ebx
jmp 0x10025233
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], ecx
dec dword [esp + 0x20]
jns 0x100251c8
mov dword [esp + 0x1c], 0x2587
cmp dword [esp + 0x1c], 0x10c0
jge 0x100253c1
lea eax, [esp + 0xc4]
mov ecx, 0x1065aed0
push eax
call fcn.10013a74
mov esi, ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], ebx
push 9
pop eax
mov byte [esp + 0x111c], al
mov edi, dword [esp + 0xc4]
jmp 0x1002538e
lea eax, [esp + 0x6c]
dec edi
push eax
mov ecx, 0x1065aed0
mov dword [esp + 0x5c], edi
call fcn.10013a74
push dword [esp + 0x6c]
lea ecx, [esp + 0x88]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x8c], esi
call fcn.100267d3
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x84]
test eax, eax
jle 0x100252f2
mov ebx, esi
mov esi, eax
push ebx
mov ecx, 0x1065aed0
call fcn.10013a74
add ebx, 4
dec esi
jne 0x100252d8
mov esi, dword [esp + 0x84]
xor ebx, ebx
push dword [esp + 0x88]
push esi
call fcn.10026f4a
mov ecx, dword [esp + 0x74]
mov eax, dword [esi]
add eax, dword [esi + ecx*4 - 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1000c898]
movsd qword [esp], xmm0
call fcn.100513a0
cmp dword [esp + 0x74], 0
fstp qword [esp + 0x98]
cvttsd2si eax, qword [esp + 0x98]
pop ecx
pop ecx
mov dword [esp + 0x1c], ebx
jle 0x10025364
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x1c]
sub eax, dword [esi + edi*4]
push eax
call fcn.10051f9a
add dword [esp + 0x34], eax
mov eax, dword [esi + edi*4]
inc edi
pop ecx
cmp edi, ebx
jl 0x10025348
mov edi, dword [esp + 0x58]
xor ebx, ebx
cvttsd2si ecx, qword [esp + 0x90]
sub eax, ecx
push eax
call fcn.10051f9a
pop ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
push ecx
mov ecx, 0x1065ae18
call fcn.10013d84
push eax
call fcn.10018a9c
pop ecx
test edi, edi
jne 0x10025296
dec edi
mov dword [esp + 0xc4], edi
test esi, esi
je 0x100253be
push esi
call fcn.10051057
pop ecx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
or edi, 0xffffffff
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], edi
mov dword [esp + 0x111c], edi
cmp dword [esp + 0xdc], 0
je 0x100253fc
push dword [esp + 0xdc]
call fcn.10051057
pop ecx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
dec dword [esp + 0x10]
jns 0x1002517a
lea eax, [esp + 0x74]
push eax
call fcn.1002688e
mov esi, dword [eax]
mov eax, 0x256915a
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], ebx
jmp 0x10025450
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x25c], 6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1002543d
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10025469
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
mov dword [esp + 0x1c0], 2
cmp dword [esp + 0x1c0], ebx
jl 0x10025498
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1002548f
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
dec dword [esp + 0x1c0]
jns 0x1002547d
cmp byte [ebp + 0xc], 0
jne 0x100254a6
test esi, esi
jne 0x1002583c
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 0x6123d4a1
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x20], 0x8b13eca4
je 0x10025511
mov dword [esp + 0x14], 0x597a61ee
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x100255cd
push 0x22a0
push ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
jmp 0x100255cd
mov dword [esp + 0x24], 0xffffffe4
jmp 0x100255c2
push 1
lea ecx, [esp + 0xec]
call fcn.100140c9
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x10025547
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10025535
mov dword [esp + 0x20], ebx
jmp 0x1002558c
mov dword [esp + 0x14], edx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jg 0x10025580
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x10025573
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x10025561
xor edx, edx
inc edx
mov dword [esp + 0x1c], 0xfffffffd
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x10025553
cmp dword [esp + 0xe8], 0
je 0x100255be
push dword [esp + 0xe8]
call fcn.10051057
pop ecx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x1d
jne 0x1002551e
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x100255de
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x278]
mov ecx, dword [esp + 0x74]
push eax
call fcn.1001a852
mov esi, eax
lea edi, [esp + 0x1d0]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], 0x13dce9d
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x1c], 3
mov dword [esp + 0x1c], 0x1d39
cmp dword [esp + 0x1c], 0xe6f
jge 0x10025793
lea eax, [esp + 0x70]
push eax
push 0x1000c288
call fcn.10050cbb
jmp 0x10025780
dec eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x60]
push eax
push 0x1000c288
call fcn.10050cbb
mov eax, dword [esp + 0x68]
mov esi, ebx
pop ecx
pop ecx
test eax, eax
jle 0x100256a6
lea eax, [esp + 0x5c]
push eax
push 0x1000c544
call fcn.10050cbb
pop ecx
pop ecx
mov cl, byte [esp + 0x5c]
call fcn.100244e1
mov cl, byte [esp + 0x5d]
mov edx, eax
call fcn.10024516
lea eax, [eax + edx*4]
mov dword [esp + esi*4 + 0x288], eax
inc esi
mov eax, dword [esp + 0x60]
cmp esi, eax
jl 0x1002566e
mov esi, ebx
test eax, eax
jle 0x100256e4
lea eax, [esp + 0x5c]
push eax
push 0x1000c544
call fcn.10050cbb
pop ecx
pop ecx
mov cl, byte [esp + 0x5c]
call fcn.100244e1
mov cl, byte [esp + 0x5d]
mov edx, eax
call fcn.10024516
lea eax, [eax + edx*4]
mov dword [esp + esi*4 + 0x2f0], eax
inc esi
mov eax, dword [esp + 0x60]
cmp esi, eax
jl 0x100256ac
lea edx, [esp + 0x288]
mov byte [esp + 0x174], bl
push dword [esp + 0x174]
lea edx, [edx + eax*4]
mov eax, edx
lea ecx, [esp + 0x28c]
sub eax, ecx
sar eax, 2
push eax
call fcn.1002712a
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x2f8]
lea ecx, [esp + 0x2f8]
mov byte [esp + 0x1d0], bl
push dword [esp + 0x1d0]
lea edx, [edx + eax*4]
mov eax, edx
sub eax, ecx
sar eax, 2
push eax
call fcn.1002712a
mov ecx, dword [esp + 0x70]
add esp, 0x10
mov esi, ebx
mov edx, ebx
mov eax, ebx
test ecx, ecx
jle 0x10025775
cmp eax, ecx
jge 0x10025775
mov edi, dword [esp + edx*4 + 0x288]
cmp edi, dword [esp + eax*4 + 0x2f0]
jle 0x1002576a
inc eax
cmp eax, ecx
jl 0x1002575c
cmp eax, ecx
jge 0x10025770
inc esi
inc eax
inc edx
cmp edx, ecx
jl 0x10025751
push esi
push 0x1000c2c4
call fcn.10050eef
mov eax, dword [esp + 0x78]
pop ecx
pop ecx
test eax, eax
jne 0x1002564e
dec eax
mov dword [esp + 0x70], eax
push 2
pop edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 7
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
jmp 0x100257c3
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x244], 0xd020bd2a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100257b0
mov dword [esp + 0x10], ebx
jmp 0x100257e3
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x23c], 0x21ec2184
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x100257d0
mov dword [esp + 0x10], ebx
jmp 0x10025802
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x220], 0xb2c5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x100257ef
inc dword [esp + 0x228]
cmp byte [ebp + 0xc], 0
mov esi, dword [esp + 0x2c]
je 0x1002583f
mov ecx, dword [esp + 0x1d4]
test ecx, ecx
je 0x1002583f
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
jmp 0x1002583f
push 2
pop edi
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], 0xfffffff7
cmp dword [esp + 0x10], ebx
je 0x100258b6
mov dword [esp + 0x14], ebx
jmp 0x1002586d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x230], 0x2061
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1002585a
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1002588c
push ebx
push 0xc19
push ebx
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], ebx
jl 0x100259af
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x230], ebx
jne 0x100259af
dec dword [esp + 0x10]
jns 0x1002589a
jmp 0x100259af
push eax
lea ecx, [esp + 0xf8]
call fcn.100140c9
mov dword [esp + 0x14], ebx
jmp 0x100258df
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 0x94dd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x100258c9
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jg 0x10025988
push 9
pop edi
mov dword [esp + 0x1c], 0x1b92
cmp dword [esp + 0x1c], 0x9ee
jge 0x10025962
jmp 0x1002594c
mov eax, dword [esp + 0x78]
mov cl, bl
cmp eax, 1
jle 0x10025941
test cl, cl
jne 0x10025922
add eax, 8
cdq
idiv edi
jmp 0x10025928
inc eax
cdq
sub eax, edx
sar eax, 1
test cl, cl
mov dword [esp + 0x78], eax
sete cl
cmp eax, 1
jg 0x10025916
test cl, cl
je 0x10025941
push 0x1000c56c
jmp 0x10025946
push 0x1000c578
call fcn.100510c7
pop ecx
lea eax, [esp + 0x78]
push eax
push 0x1000c288
call fcn.10050cbb
pop ecx
pop ecx
cmp eax, 1
je 0x1002590b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xf4]
cmp dword [ecx + eax*4], ebx
jne 0x1002598f
mov dword [esp + 0x24], 0xfffffffd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x100258f7
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x100259af
push ecx
call fcn.10051057
pop ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
push 0xa
mov dword [esp + 0x28], ebx
pop edi
jmp 0x10025a33
mov dword [esp + 0x14], ebx
jmp 0x100259d1
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1f8], 0x2265e3ed
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x100259be
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x100259ea
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x200], ebx
je 0x10025a10
mov dword [esp + 0x1c], 0xdade
xor ecx, ecx
mov eax, dword [esp + 0x200]
cmp eax, 0xffffffff
setne cl
mov dword [esp + 0x1c], ecx
jmp 0x10025a2f
mov dword [esp + 0x10], ebx
jmp 0x10025a28
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x1c], ebx
jne 0x10025a2f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xd
jge 0x10025a16
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
je 0x100259b8
test esi, esi
jne 0x100264b3
cmp dword [esp + 0x1cc], esi
jle 0x100264b3
mov dword [esp + 0x24], 0xd5e48d32
mov dword [esp + 0x24], ebx
jmp 0x10025af9
mov dword [esp + 0x2c], 0x7d214c40
mov dword [esp + 0x14], ebx
jmp 0x10025a84
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x268], 0x83c8fc55
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10025a71
mov dword [esp + 0x2c], 3
cmp dword [esp + 0x2c], ebx
jl 0x10025af5
push 1
lea ecx, [esp + 0x17c]
call fcn.100140c9
mov dword [esp + 0x14], ebx
jmp 0x10025ac3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], 0x9a971867
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10025aad
mov eax, dword [esp + 0x178]
push eax
inc dword [eax]
call fcn.10051057
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
dec dword [esp + 0x30]
pop ecx
jns 0x10025a99
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x1a
jle 0x10025a63
mov dword [esp + 0x20], 0x4b1b055c
xor edx, edx
mov dword [esp + 0x24], 0x969ac54c
mov dword [esp + 0x28], 0x56411d7f
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], 8
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], 0x57994279
mov dword [esp + 0x1c], 0x19791169
mov dword [esp + 0x1c], 4
mov dword [esp + 0x1c], 2
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0xdf15
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 1
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
push 9
setl cl
pop eax
cmp ecx, eax
jne 0x10025b9a
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, 1
setle cl
mov dword [esp + 0x24], ecx
mov dword [esp + 0x24], 0xb
jmp 0x10025cad
push 4
lea ecx, [esp + 0x128]
call fcn.100140c9
mov dword [esp + 0x111c], edi
lea ecx, [esp + 0x10c]
mov dword [esp + 0x1c], 0xadaa237f
push 1
call fcn.100140c9
mov dword [esp + 0x10], ebx
jmp 0x10025bfe
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 0xebf9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x10025be8
mov dword [esp + 0x10], ebx
jmp 0x10025c21
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10c]
mov dword [eax + ecx*4], 0xe857b1a0
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10025c0b
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x124]
cmp dword [eax + 4], ebx
setge cl
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
sub eax, 8
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
inc dword [esp + 0x38]
cmp dword [esp + 0x10c], 0
je 0x10025c7f
push dword [esp + 0x10c]
call fcn.10051057
pop ecx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
or dword [esp + 0x111c], 0xffffffff
push dword [esp + 0x124]
call fcn.10051057
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
dec dword [esp + 0x28]
pop ecx
cmp dword [esp + 0x24], 0xfffffffb
jl 0x10025bb7
push 1
lea ecx, [esp + 0x140]
call fcn.100140c9
mov dword [esp + 0x20], 0xffffffff
mov edi, 0xec2e
mov dword [esp + 0x14], ebx
jmp 0x10025ceb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x13c]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10025cd9
mov dword [esp + 0x20], ebx
jmp 0x10025d11
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x10025cf8
mov ecx, dword [esp + 0x13c]
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
call fcn.10051057
pop ecx
push 1
lea ecx, [esp + 0x158]
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
call fcn.100140c9
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x10025d6e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10025d5c
mov dword [esp + 0x20], ebx
jmp 0x10025d94
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x10025d7b
mov ecx, dword [esp + 0x154]
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
call fcn.10051057
cmp dword [esp + 0x1d4], 0
pop ecx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], ebx
je 0x100264b3
mov dword [esp + 0x14], 0xfffffff7
mov dword [esp + 0x1c], 0x1d14cd49
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x14], ebx
jmp 0x10025eca
lea ecx, [esp + 0x1cc]
call fcn.10020b50
test esi, esi
je 0x1002666b
mov dword [esp + 0x24], 0xda115252
mov eax, 0xc7516a20
mov dword [esp + 0x2c], 0xd1d8f8f5
xor edx, edx
mov dword [esp + 0x30], 0xffffffff
inc edx
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], 0xb168
mov dword [esp + 0x14], 0x7a4129b8
mov dword [esp + 0x1c], 0xe7aebb1b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x24]
jne 0x10026592
cmp dword [esp + 0x24], ebx
je 0x10026592
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
sub ecx, 0x28ea
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1ec], ecx
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
sub eax, 0xffff
cmp eax, 0xa720
jge 0x1002657c
mov eax, ebx
cmp dword [esp + 0x2c], ebx
je 0x1002657e
mov eax, edx
dec dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x24]
mov eax, edx
jne 0x10026594
mov eax, ebx
mov edx, dword [esp + 0x68]
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.10024441
push dword [esp + 0x1a4]
mov esi, eax
mov dword [esp + 0x20], 0x2ba39464
lea eax, [esp + 0x224]
mov dword [esp + 0x20], 0x9c17633e
push eax
lea eax, [esp + 0x218]
mov dword [esp + 0x24], 0x7f759609
push eax
mov dword [esp + 0x28], 0xbb0cb8ce
lea ecx, [esp + 0x1a4]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0x1551da62
mov dword [esp + 0x28], 0xffffffff
push ebx
mov dword [esp + 0x1b8], esi
movdqu xmmword [esp + 0x220], xmm0
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebx
call fcn.10019d18
mov dword [esp + 0x1c], 0xe008fb0b
mov dword [esp + 0x1c], 0x1a82e77e
mov dword [esp + 0x1c], 0xfffffff8
mov dword [esp + 0x68], 1
dec dword [esp + 0x68]
cmp dword [esp + 0x198], 0
je 0x1002665c
push dword [esp + 0x198]
call fcn.10051057
pop ecx
lea eax, [esp + 0xc0]
push eax
call fcn.1002682c
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [esp + 0x1a8]
mov ecx, dword [esp + 0x1114]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret