Function at 0x1004d812
Capabilities:
Delete registry key
Get geographical location
Set thread local storage value

Disassembly:
mov eax, 0x1006f419
call fcn.1006ddc8
sub esp, 0x21c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, ecx
push 2
pop esi
push dword [ebp + 8]
mov dword [ebp - 0x24], 0x1f9c28ad
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x28], eax
xor edi, edi
mov dword [ebp - 0x50], eax
xor ebx, ebx
mov dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x34], esi
inc edi
push eax
mov dword [ebp - 0x1c], 0xfffffff9
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x48], edi
xorps xmm0, xmm0
push eax
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x34], 0xe30f5872
mov dword [ebp - 0x34], 0x9ba87a5e
push ebx
mov byte [ebp - 0x44], dl
movdqu xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
call fcn.1002518e
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x1c0]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100092b0]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x34], 0xc7d8
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x38], 9
push eax
mov dword [ebp - 0x14], 0xfffffffe
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x3c], 0xb9349714
push eax
mov dword [ebp - 0x34], 0x21029358
mov dword [ebp - 0x34], 0xd6825d0b
mov dword [ebp - 0x4c], 0xffffffff
push ebx
movdqu xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.1002518e
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1004d928
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14c], 0xc9ed9ba0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004d917
mov eax, dword [ebp - 0xc4]
dec dword [eax + 0xc]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x4c]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x3c], ebx
je 0x1004d94f
mov edx, edi
cmp dword [ebp - 0x24], ebx
jne 0x1004d951
mov edx, ebx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x68]
sete cl
sub ecx, dword [eax + 0xc]
cmp dword [ebp - 0x14c], ecx
je 0x1004d96f
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x30], ebx
je 0x1004d981
mov eax, edi
cmp dword [ebp - 0x48], ebx
jne 0x1004d983
mov eax, ebx
neg eax
jne 0x1004d98a
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
je 0x1004d9b1
mov dword [ebp - 0x38], 0xfade0f7
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, edi
setg cl
mov dword [ebp - 0x38], ecx
jmp 0x1004da17
mov dword [ebp - 0x14], 0xffffffe9
jmp 0x1004d9ef
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x1004d9ec
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004d9dd
push ebx
push ebx
push 0xdb7
push 0xd13
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x14c]
dec dword [ebp - 0x24]
jns 0x1004d9c2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jge 0x1004d9ba
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004da17
push ebx
push ebx
push ebx
push 0x23e5
push 0xbde
push ebx
push 0x10da
call dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004da28
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea ecx, [ebp - 0x68]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.100217e7
mov dword [ebp - 0x1c], 0xb642
mov eax, 0x100748bc
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x1c], 0xffffffe5
jmp 0x1004dab4
mov dword [ebp - 0x30], 0xb590
xor ecx, ecx
mov dword [ebp - 0x38], 0x44142b91
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, edi
setge cl
xor eax, eax
cmp ecx, 0xffffffff
setle al
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x30]
cmp eax, esi
setge cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
je 0x1004da72
mov eax, dword [0x100748bc]
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
push esi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
call fcn.10021765
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], 0x43250e6d
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1004db19
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 0xb96ca2cb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004db06
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x158]
mov dword [eax], ecx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0xe8], 0xffff
test eax, eax
je 0x1004db68
mov dword [ebp - 0x24], 0xffffffee
jmp 0x1004db60
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004db5d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x17
jl 0x1004db4c
jmp 0x1004dba7
push 3
lea ecx, [ebp - 0x17c]
call fcn.10021765
mov dword [ebp - 0x14], ebx
jmp 0x1004db8d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x17c]
mov dword [eax + ecx*4], 0x362d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004db7a
mov eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x17c]
dec dword [eax + 8]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x158]
call fcn.100217e7
cmp byte [ebp - 0x44], 0
je 0x1004de52
cmp dword [ebp - 0x4c], edi
jne 0x1004de52
push 4
lea ecx, [ebp - 0x90]
call fcn.10021765
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], 0xbeab1d6a
mov dword [ebp - 0x20], 0x294bb489
mov dword [ebp - 0x38], 0x951b
mov dword [ebp - 0x14], ebx
jmp 0x1004dc06
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x923e64f1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004dbf3
mov esi, dword [ebp - 0x90]
lea edx, [esi + 4]
mov ecx, dword [edx]
cmp ecx, 0xf6802998
jbe 0x1004dc55
xor eax, eax
cmp ecx, dword [esi]
sete al
imul eax, eax, 0x796
sub eax, ecx
xor ecx, ecx
cmp eax, dword [esi]
setl cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
je 0x1004dc43
mov eax, edi
cmp dword [edx], ebx
jne 0x1004dc45
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, edi
cmp dword [ebp - 0x20], ebx
mov esi, dword [ebp - 0x90]
jne 0x1004dc57
mov eax, ebx
mov ecx, dword [edx]
xor edx, edx
cmp ecx, dword [esi]
setge dl
cmp eax, 0x9d2e819d
sbb eax, eax
neg eax
imul edx, eax
mov eax, dword [ebp - 0x38]
imul edx, ecx
imul eax, edx
neg eax
je 0x1004dc94
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004dd24
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
jmp 0x1004dd24
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100092c0]
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x38], 0x7f3c88fe
push eax
push ebx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], ebx
movdqu xmmword [ebp - 0x210], xmm0
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
call fcn.1002518e
mov dword [ebp - 0x1c], 0x547507a
mov dword [ebp - 0x20], ebx
jmp 0x1004dd14
mov dword [ebp - 0x48], 0x50169ff9
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xffffffe9
jl 0x1004dd11
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x48]
mov dword [ecx + 4], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe9
jge 0x1004dd02
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
je 0x1004dce6
lea ecx, [ebp - 0xac]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.100217e7
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xb8]
push edi
mov dword [esi + 8], 4
call fcn.10021765
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x24], 0xf67ab6ce
mov dword [ebp - 0x14], 0xca3c47a
mov dword [ebp - 0x2c], 0xa9e1a0e1
mov dword [ebp - 0x38], 0x26243a5d
mov dword [ebp - 0x1c], ebx
jmp 0x1004dd8b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004dd78
mov dword [ebp - 0x1c], ebx
jmp 0x1004dda6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e0], 0xc512dc6d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004dd95
mov eax, dword [ebp - 0xb8]
cmp dword [eax], 0
je 0x1004dddf
xor ecx, ecx
cmp dword [eax], ecx
setl cl
xor eax, eax
cmp ecx, 0xb060
mov ecx, edi
setle al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xb8]
cmp dword [eax], 0x5734cb44
jge 0x1004dde1
mov ecx, ebx
xor eax, eax
cmp ecx, 0x185a
setg al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], 0xcd953295
cmp dword [ebp - 0x14], ebx
je 0x1004de0e
mov ecx, edi
cmp dword [ebp - 0x24], ebx
jne 0x1004de10
mov ecx, ebx
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
imul eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1dc], ecx
lea ecx, [ebp - 0xb8]
call fcn.100217e7
push 2
mov dword [esi + 0xc], 0x100748bc
pop esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], ebx
jmp 0x1004de6b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x24a8c6a5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004de5d
mov dword [ebp - 0x20], ebx
jmp 0x1004de7f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004de75
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x1004df02
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x5c], ebx
je 0x1004deb7
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x5c]
mov eax, dword [ebp - 0x38]
mov eax, edi
jmp 0x1004deb9
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
sub edx, 0xcea2ff3e
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp + eax*4 - 0x5c]
jne 0x1004def8
mov eax, ebx
cmp dword [ebp - 0x5c], ebx
je 0x1004defa
mov eax, edi
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x20]
jns 0x1004de8c
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x28], eax
jge 0x1004ec3a
push 3
pop esi
push esi
lea ecx, [ebp - 0xe0]
call fcn.10021765
mov dword [ebp - 4], esi
lea eax, [ebp - 0x1f0]
push dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0x74b1b055
push eax
lea eax, [ebp - 0x200]
mov dword [ebp - 0x20], ebx
push eax
push ebx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], ebx
movdqu xmmword [ebp - 0x200], xmm0
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
call fcn.1002518e
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], ebx
jmp 0x1004df7a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x2e91a049
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004df67
mov eax, dword [ebp - 0xe0]
add eax, 8
mov dword [eax], 5
cmp dword [eax], 0xe
jg 0x1004e19f
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], 0x8dee21af
mov dword [ebp - 0x14], 0x3cc6
cmp dword [ebp - 0x14], 0x3d55
jle 0x1004dffc
mov esi, ebx
mov edi, esi
mov dword [ebp - 0x30], 0x275
mov dword [ebp - 0x38], ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10616598
cdq
push edx
push eax
call fcn.10021518
inc ebx
cmp ebx, 0x13fc
jl 0x1004dfbf
dec edi
dec dword [ebp - 0x30]
push 0
pop ebx
jne 0x1004dfbc
inc esi
cmp esi, 0x20d7
jl 0x1004dfb3
push ebx
xor edi, edi
push 0x809
inc edi
call dword [sym.imp.USER32.dll_ValidateRect]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e00e
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x14], 0x3abb
jge 0x1004e057
mov edx, 0x100090f8
mov ecx, 0x10616598
call fcn.100246df
jmp 0x1004e057
mov dword [ebp - 4], 4
xor edx, edx
inc dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
setne dl
sub eax, edx
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x1004e0c2
cmp dword [ebp - 0x20], ebx
jne 0x1004e19f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e18f
push 0x25f6
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
jmp 0x1004e18f
mov eax, dword [ebp - 0x84]
cmp dword [eax + 4], ebx
jne 0x1004e19f
mov dword [ebp - 0x24], 0x3a3d
cmp dword [ebp - 0x24], 0x3d2d
jle 0x1004e151
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x14], 0x27dc
mov dword [ebp - 0x30], eax
or eax, ecx
lea ecx, [ebp - 0x228]
cdq
push edx
push eax
call fcn.1000a76e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004e118
mov eax, dword [eax]
push eax
call fcn.10055ddf
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x228]
call fcn.1002201a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add eax, esi
dec dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
jne 0x1004e0fe
inc esi
cmp esi, 0xab5
jl 0x1004e0f2
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x420c
jl 0x1004e0f0
mov dword [ebp - 0x1c], 0x15
jmp 0x1004e16e
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e16b
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffed
jge 0x1004e15a
cmp dword [ebp - 0x24], 0x3706
jge 0x1004e188
push 0x10009188
call fcn.10055ddf
pop ecx
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0xe0]
add eax, 8
inc dword [eax]
jmp 0x1004df8e
lea ecx, [ebp - 0x84]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.100217e7
mov esi, dword [ebp - 0x3c]
xor edx, edx
add esi, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x30], 0xfff8
mov dword [ebp - 0x34], 0x3e3f36a5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
test eax, eax
mov eax, dword [ebp - 0x1c]
setns dl
mov dword [ebp - 0x3c], esi
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jne 0x1004e22c
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1004e22e
mov ecx, edi
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, 0xd0811fc8
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
cmp ecx, 0xdfb1af9d
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x1c]
jne 0x1004e25c
mov ecx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x1004e25e
mov ecx, edi
xor eax, eax
cmp ecx, edi
setne al
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e282
push 0x14c
push 0x16d7
push ebx
call dword [sym.imp.USER32.dll_DeleteMenu]
cmp dword [ebp - 0x28], 0
jle 0x1004e668
mov dword [ebp - 0x24], 0x86bd085c
mov dword [ebp - 0x30], 0xe6bb2f14
mov dword [ebp - 0x30], 0x68fdadf8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004e2be
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004e2ad
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e2d4
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x1004e318
cmp dword [ebp - 0x10c], ebx
je 0x1004e2ff
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x110], eax
test eax, eax
je 0x1004e2ff
mov eax, dword [ebp - 0x104]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, edi
cmp dword [ebp - 0x10c], ebx
jne 0x1004e31a
mov eax, ebx
cmp eax, 0x9e22401d
sbb eax, eax
xor edx, edx
inc eax
cmp eax, edi
mov eax, dword [ebp - 0x24]
setle dl
sub edx, 0xdbc9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [esi]
add esi, dword [ebp - 0x40]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], 0xd6c05baf
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x24], 0x1d
jmp 0x1004e40c
pop eax
mov dword [ebp - 0x2c], 0xf5a9c4c8
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x30], eax
push eax
call fcn.10021765
mov dword [ebp - 0x14], ebx
jmp 0x1004e397
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], 0x3dfad5be
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e384
xor ecx, ecx
mov dword [ebp - 0x14], 0x8f0a
mov eax, dword [ebp - 0x2c]
cmp eax, 0x4320e32c
setge cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0x3bd65256
setge cl
sub ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
neg ecx
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
add ecx, 0xffff6a69
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x170]
setl cl
mov dword [eax], ecx
lea ecx, [ebp - 0x170]
call fcn.100217e7
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffed
push 3
jge 0x1004e368
mov esi, dword [esi]
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x2c], 0xeec2
call fcn.10021765
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1004e453
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 0x9c4d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1004e442
mov dword [ebp - 0x1c], ebx
jmp 0x1004e471
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0xe13c9534
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1004e45e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x98], ebx
je 0x1004e4d9
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x2c], 0xfffffff6
jne 0x1004e4c8
mov ecx, edi
cmp dword [ebp - 0x9c], ebx
jne 0x1004e4ca
mov ecx, ebx
mov eax, dword [ebp - 0x128]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x34], eax
call fcn.100217e7
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1a4]
add dword [ebp - 0x3c], eax
push 2
call fcn.10021765
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x14], ebx
jmp 0x1004e528
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1a4]
mov dword [eax + ecx*4], 0x1713
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004e515
mov dword [ebp - 0x14], ebx
jmp 0x1004e549
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e546
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_RaiseException]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1004e533
lea ecx, [ebp - 0x1a4]
call fcn.100217e7
test esi, esi
jne 0x1004e569
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x3c], eax
push 2
mov dword [ebp - 0x100], ebx
lea ecx, [ebp - 0x134]
pop esi
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
push esi
call fcn.10021765
mov dword [ebp - 4], 9
mov dword [ebp - 0x24], 0x43250e6d
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1004e5b9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0xb96ca2cb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004e5a6
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x134]
mov dword [eax], ecx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
imul eax, dword [ebp - 0xf8], 0xffff
test eax, eax
je 0x1004e608
mov dword [ebp - 0x24], 0xffffffee
jmp 0x1004e600
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e5fd
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x17
jl 0x1004e5ec
jmp 0x1004e647
push 3
lea ecx, [ebp - 0x140]
call fcn.10021765
mov dword [ebp - 0x14], ebx
jmp 0x1004e62d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0x362d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004e61a
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
dec dword [eax + 8]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.100217e7
mov esi, dword [ebp - 0x3c]
add esi, dword [ebp - 0x50]
dec dword [ebp - 0x28]
mov dword [ebp - 0x3c], esi
jne 0x1004e28c
mov esi, dword [esi]
mov dword [ebp - 0x1c], 0x52d8
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], 0x9ebf495e
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x28], 0xa6906e71
mov dword [ebp - 0x38], 0xd8d7cd14
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x20], ebx
je 0x1004e6bf
mov edx, dword [ebp - 0x20]
xor ecx, ecx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, edi
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jne 0x1004e6c1
mov eax, ebx
xor ecx, ecx
mov dword [ebp - 0x1c], 0x32bb11ac
cmp eax, 0xffffffff
setg cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
cmp edi, eax
sbb eax, eax
inc eax
cmp eax, ecx
jle 0x1004e6e9
cmp dword [ebp - 0x1c], ebx
jne 0x1004e6ee
cmp dword [ebp - 0x14], ebx
je 0x1004e757
mov dword [ebp - 0x28], 0x746e
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x20], 0xd329b3a0
cmp dword [ebp - 0x28], ebx
je 0x1004e716
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x20], ebx
jne 0x1004e719
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x30], ebx
jne 0x1004e73b
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setne dl
xor eax, eax
neg edx
cmp edx, 0xfffffffb
setl al
neg eax
mov eax, ebx
je 0x1004e73d
mov eax, edi
xor edx, edx
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x34], ecx
jmp 0x1004e8bf
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], 0x62954f61
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0x48], 0x9ad1
cmp dword [ebp - 0x1c], ebx
je 0x1004e78d
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x20], ebx
jne 0x1004e790
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x24], ebx
je 0x1004e79f
mov ecx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x1004e7a1
mov ecx, ebx
mov edx, dword [ebp - 0x24]
xor eax, eax
cmp ecx, 3
mov ecx, dword [ebp - 0x20]
setge al
sub edx, eax
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
imul ecx, edx
xor edx, edx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x28]
jne 0x1004e7d0
cmp dword [ebp - 0x24], ebx
jne 0x1004e7d0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
imul edx, dword [ebp - 0x14]
test edx, edx
je 0x1004e83b
mov dword [ebp - 0x34], edi
lea ecx, [ebp - 0x1b0]
push 2
call fcn.10021765
mov dword [ebp - 0x28], ebx
jmp 0x1004e81c
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1b0]
mov dword [eax + ecx*4], 0x9f00f3b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1004e809
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x48]
call fcn.100217e7
jmp 0x1004e8bf
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x24], 0xfffffffa
sbb eax, eax
inc eax
cmp eax, 0xe91f1311
jne 0x1004e870
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, 0x72defe8e
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xc99a
setg al
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xffffffe3
jmp 0x1004e8f1
mov dword [ebp - 0x1c], ebx
jmp 0x1004e8e9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004e8e6
push 0x1aae
push 0xb9d
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1004e8cd
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x13
jne 0x1004e8c8
mov eax, dword [ebp - 0x40]
add dword [ebp - 0x3c], eax
mov eax, 0xcd409884
mov dword [ebp - 0x38], 0x5165352f
mov dword [ebp - 0x34], 0xc902dafb
mov dword [ebp - 0x34], 0x84bc9c3
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x34], 0xae2718b9
mov dword [ebp - 0x34], 0x6d065835
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x50], 0xd7c584ed
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x50], 0x55833aed
mov dword [ebp - 0x28], ebx
jmp 0x1004e96b
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x54], 0x252cb136
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1004e95d
dec dword [ebp - 0x38]
je 0x1004e978
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], edi
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 0xfffffffc
setle al
cmp dword [ebp - 0x54], eax
je 0x1004e99c
mov eax, edi
cmp dword [ebp - 0x54], ebx
jne 0x1004e99e
mov eax, ebx
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x50], 5
push 2
mov eax, dword [ecx]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x24], 0xc37fc054
mov dword [ebp - 0x34], eax
call fcn.10021765
push 2
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xa
call fcn.10021765
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x188]
or eax, 0xffffffff
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x14], 0xfffffffd
push 2
call fcn.10021765
push 2
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1004ea41
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x164]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1004ea31
mov dword [ebp - 0x20], ebx
jmp 0x1004ea5a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1004ea4b
mov dword [ebp - 0x20], ebx
jmp 0x1004ea77
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0x9e4e412c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1004ea64
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x1004eaeb
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc1d6
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x164]
setg cl
mov esi, dword [ebp - 0x11c]
dec edx
neg edx
mov dword [eax + 4], ecx
sbb edx, edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, edi
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [esi + 4]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
inc dword [esi + 4]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x2c]
cmovne edx, ebx
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, edi
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xb441
setl al
cmp eax, dword [ebp - 0x1c]
jl 0x1004eb12
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg eax
sub eax, 0x4e20
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
lea ecx, [ebp - 0x188]
setl dl
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x188]
neg edx
mov dword [eax + 4], edx
call fcn.100217e7
lea ecx, [ebp - 0x11c]
call fcn.100217e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x164]
call fcn.100217e7
cmp dword [ebp - 0x34], 0
jne 0x1004ec3a
cmp byte [ebp - 0x44], 0
je 0x1004eb98
cmp dword [ebp - 0x4c], edi
jne 0x1004eb98
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
lea eax, [esi + eax*4]
add dword [ecx + 8], eax
mov ecx, dword [ebp - 0x3c]
push esi
mov eax, dword [ecx]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], ecx
call fcn.100548c4
pop ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x74]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], ebx
push eax
push esi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
call fcn.10052f57
mov eax, dword [ebp - 0x2c]
mov esi, ebx
mov ecx, dword [ebp - 0x74]
test eax, eax
jle 0x1004ec22
mov eax, esi
and eax, 0x80000001
jns 0x1004ebeb
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x34]
add eax, esi
add eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x50]
jmp 0x1004ec00
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x2c]
cmp word [ecx + edx*2], bx
jne 0x1004ebfd
mov eax, dword [ebp - 0x3c]
mov word [ecx + edx*2], di
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x38]
mov byte [esi + edx], al
inc esi
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jl 0x1004ebdd
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 4], eax
test ecx, ecx
je 0x1004ec3d
push ecx
call fcn.10055f47
pop ecx
jmp 0x1004ec3d
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret