Function at 0x1004be76
Capabilities:
Get common file path
Get graphical window text

Disassembly:
mov eax, 0x100712a3
call fcn.1006fdd8
sub esp, 0x114
mov dword [ebp - 0x34], 0x5f39
push ebx
mov dword [ebp - 0x38], 0x6715f0ed
xor ebx, ebx
mov dword [ebp - 0x38], 0x60f7e730
push esi
mov dword [ebp - 0x38], 3
push edi
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x50], dl
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x4c], 4
mov dword [ebp - 0x14], ebx
jmp 0x1004bed4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x100], 0x4bedcc59
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004bec3
mov eax, dword [ebp - 0x34]
xor edx, edx
imul eax, dword [ebp - 0x34]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0xf4], esi
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov dword [edi], ebx
setle dl
mov dword [edi + 4], ebx
imul eax, esi, 0x8e64
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
sub edx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [0x100768ac]
mov dword [ebp - 0x38], eax
cmp byte [ebp - 0x50], bl
je 0x1004c23f
xor edx, edx
inc edx
cmp eax, edx
jne 0x1004c23f
mov dword [ebp - 0x18], 0xfb02
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0x28c7fffa
mov dword [ebp - 0x14], 0x32b7b88c
push 2
mov dword [ebp - 0x2c], 0x44c9cadc
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x1004bf73
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0xf5ecce35
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1004bf62
cmp dword [ebp - 0x18], ebx
jne 0x1004bfcb
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, ebx
cmp esi, eax
setg cl
cmp ecx, 0x426a7609
jne 0x1004bf98
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004bf9a
mov eax, edx
mov dword [ebp - 0x28], eax
mov esi, edx
cmp dword [ebp - 0x28], ebx
jne 0x1004bfa6
mov esi, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, esi
setne cl
imul ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x18]
jge 0x1004bfc0
mov ecx, ebx
cmp dword [ebp - 0x18], ebx
je 0x1004bfc2
mov ecx, edx
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x1004bfcb
mov edx, ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add ecx, 0xffff75d5
add ecx, edx
xor edx, edx
cmp ecx, eax
push 9
setl dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
sub eax, 8
neg eax
pop ecx
sbb eax, eax
inc eax
add eax, dword [ebp - 0x18]
neg eax
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x18]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x18]
jne 0x1004c0a8
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x18], 0xfffffff3
cmp dword [ebp - 0x18], 0x15
je 0x1004c0eb
mov esi, 0xffff
mov dword [ebp - 0x20], 0xfffffff5
jmp 0x1004c097
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x14], ebx
jmp 0x1004c08e
mov dword [ebp - 0x28], edi
jmp 0x1004c085
mov dword [ebp - 0x30], 0xfffffff5
jmp 0x1004c07c
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c079
push 0x8f3
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff6
jge 0x1004c065
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x18
je 0x1004c05c
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff8
jle 0x1004c057
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
je 0x1004c040
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jne 0x1004c037
jmp 0x1004c0f0
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c0bb
push 0xf7
call dword [sym.imp.USER32.dll_SetCapture]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x13
jne 0x1004c0eb
mov dword [ebp - 0x20], ebx
jmp 0x1004c0e0
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c0dd
push ebx
push 0x18cf
call dword [sym.imp.USER32.dll_GetSystemMenu]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff8
jge 0x1004c0c9
inc dword [ebp - 0x18]
jmp 0x1004c0be
mov esi, 0xffff
mov edi, dword [ebp + 8]
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x40], 7
mov dword [edi + 8], 4
mov dword [ebp - 0x14], ebx
jmp 0x1004c122
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], 0x911aca8b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1004c114
mov dword [ebp - 0x28], ebx
jmp 0x1004c22b
mov dword [ebp - 0x20], 1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c150
push ebx
push 0x21df
push 0x1a8d
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov dword [ebp - 0x20], ebx
jmp 0x1004c21e
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], 0x6da84b50
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c17d
push ebx
push 0x92e
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp dword [ebp - 0x28], ebx
je 0x1004c208
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
sub ecx, 0x63861411
cmp ecx, eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
setge dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0x5f402be2
setle al
sub eax, dword [ebp - 0x20]
cmp esi, eax
sbb ecx, ecx
or eax, 0xffffffff
neg ecx
sub eax, ecx
jne 0x1004c1db
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setg dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
je 0x1004c202
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
mov dword [ebp - 0x78], edx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffec
je 0x1004c158
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe6
jl 0x1004c130
mov eax, dword [ebp - 0x38]
mov dword [edi + 0xc], 0x100768ac
mov esi, dword [ebp - 0x3c]
cmp esi, eax
jge 0x1004ce57
mov dword [ebp - 0x14], 0x96dd1e1e
mov edi, 0x100768b0
mov dword [ebp - 0x48], ebx
xor ecx, ecx
mov dword [ebp - 0x24], 0x6b2c4eb0
inc ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], ebx
jmp 0x1004c279
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1004c26b
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1004c2a5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004c29a
push ebx
push 0x160c
call dword [sym.imp.USER32.dll_ClientToScreen]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1004c286
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x54], ebx
je 0x1004c34d
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x14], ebx
jmp 0x1004c2c8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0x7d65121a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1004c2ba
mov eax, 0xc3eee2fd
xor edx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x60]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
cmp ecx, eax
setge dl
xor esi, esi
xor ecx, ecx
inc esi
cmp edx, esi
setge cl
xor eax, eax
dec ecx
cmp ecx, 0xec58
setg al
cmp eax, 0x4383
jle 0x1004c30d
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x60]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setle dl
imul eax, edx
cmp eax, dword [ebp - 0x54]
jle 0x1004c33e
cmp dword [ebp - 0x48], ebx
jne 0x1004c33e
mov esi, ebx
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x24], 0xffffffff
jmp 0x1004c35a
mov dword [ebp - 0x24], 0x9cff
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, ebx
mov dword [ebp - 0x34], ebx
cmp eax, esi
jge 0x1004c7f4
mov eax, dword [edi]
xor edx, edx
inc edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x14], 0xbb743d8
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x14], ebx
jmp 0x1004c399
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0x8c9dffbe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1004c38b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
inc eax
inc dword [ebp - 0x40]
cmp eax, 0xca3c47
mov eax, edx
cmovge eax, ebx
imul eax, eax, 0x2967
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x14]
jle 0x1004c3d9
mov eax, edx
cmp dword [ebp - 0x14], ebx
jne 0x1004c3db
mov eax, ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
sub eax, 0xacb9
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
imul ecx, eax
mov eax, dword [ebp - 0x30]
imul eax, ecx
test eax, eax
jne 0x1004c405
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
add edi, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0xd4e06482
mov dword [ebp - 0x30], 0xffffffeb
cmp dword [ebp - 0x30], 0xffffffed
jl 0x1004c476
jmp 0x1004c42a
xor edx, edx
inc edx
push edx
lea ecx, [ebp - 0xbc]
call fcn.10021bd6
xor esi, esi
mov dword [ebp - 0x14], ebx
inc esi
jmp 0x1004c451
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0x34e6d4f2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004c43e
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xbc]
mov dword [eax], 0x25b0e446
call fcn.10021c38
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffed
jge 0x1004c427
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c487
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [edi]
lea ecx, [ebp - 0xc8]
add edi, dword [ebp - 0x4c]
push 4
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x40], edi
call fcn.10021bd6
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0x22ba3946
mov dword [ebp - 0x24], 0x22e
cmp dword [ebp - 0x24], 0x4ec
jle 0x1004c4fe
push ebx
push ebx
push 0x25d9
push 0x1af2
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x10617a78
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10021ac1
inc edi
cmp edi, 0x167f
jl 0x1004c4d2
inc esi
cmp esi, 0xad9
jl 0x1004c4d0
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x28]
xor edx, edx
inc edx
mov byte [ebp - 4], dl
cmp dword [ebp - 0x24], 0x1ac
jge 0x1004c549
mov edx, 0x10009210
mov ecx, 0x10617a78
call fcn.100250d0
xor edx, edx
inc edx
jmp 0x1004c549
mov dword [ebp - 0x14], ebx
jmp 0x1004c561
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004c54e
mov dword [ebp - 0x14], ebx
jmp 0x1004c57a
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x14], ebx
jne 0x1004c580
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1004c56c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.10021c38
test esi, esi
jne 0x1004c59c
mov eax, dword [ebp - 0x4c]
lea edi, [edi + eax*2]
mov dword [ebp - 0x28], edi
push 3
pop edi
push edi
lea ecx, [ebp - 0xb0]
call fcn.10021bd6
mov dword [ebp - 4], edi
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x2c], 0xe71cc545
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x2c], 0x2fc53d8b
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x2c], 0x46aa1dd5
mov dword [ebp - 0x2c], 0x7054f86f
mov dword [ebp - 0x2c], 0xb7228d0
mov dword [ebp - 0x2c], 0xc50133ec
push edi
call fcn.10021bd6
xor esi, esi
mov byte [ebp - 4], 4
inc esi
lea ecx, [ebp - 0xa4]
push esi
call fcn.10021bd6
mov dword [ebp - 0x18], ebx
jmp 0x1004c61b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe4], 0xae355683
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1004c60a
mov dword [ebp - 0x18], ebx
jmp 0x1004c639
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004c626
mov dword [ebp - 0x18], ebx
jmp 0x1004c656
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x678d5680
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004c643
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1004c676
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x9ffbdd2a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1004c663
mov edi, dword [ebp - 0xb0]
mov dword [edi + 8], edx
mov dword [ebp - 0x20], 0x11738ab6
mov dword [ebp - 0x24], 0xabac89d7
mov dword [ebp - 0x48], 0x711a53fd
mov dword [ebp - 0x2c], 0xa6d786ff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0x8a57461d
mov dword [ebp - 0x2c], 0xc4142545
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0xcfb64730
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xc3978d11
mov dword [ebp - 0x2c], 0x9efecf47
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x1004c7a6
xor esi, esi
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x24], 0x6a1c3d07
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c710
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xfff8
setne cl
xor eax, eax
inc ecx
cmp ecx, dword [edi + 8]
setge al
xor ecx, ecx
cmp eax, 0x15d3e997
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
imul eax, ecx
imul eax, eax, 0x62a0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp dword [edi + 8], ecx
jg 0x1004c766
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1004c769
lea eax, [esi + 1]
cmp eax, dword [ebp - 0x20]
jg 0x1004c775
mov ecx, ebx
cmp dword [ebp - 0x48], ebx
je 0x1004c778
lea ecx, [esi + 1]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0xe4]
sub edx, ecx
dec edx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x20]
jns 0x1004c6f0
xor edx, edx
inc edx
mov eax, dword [ebp - 0xa4]
inc dword [eax]
dec dword [edi + 8]
jns 0x1004c684
lea ecx, [ebp - 0xa4]
call fcn.10021c38
lea ecx, [ebp - 0xf0]
call fcn.10021c38
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.10021c38
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
add edi, dword [ebp - 0x44]
inc eax
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], eax
jmp 0x1004c35f
mov dword [ebp - 0x20], 0xa4f833fc
xor ecx, ecx
mov dword [ebp - 0x14], 0xe0c23782
inc ecx
mov dword [ebp - 0x34], 0x5996fd0f
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x24], 0x7d62
mov dword [ebp - 0x20], ebx
jmp 0x1004c833
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1004c822
mov dword [ebp - 0x20], ebx
jmp 0x1004c84c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], 0x1aa08ecb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1004c83e
push 2
mov dword [ebp - 0x20], ebx
pop esi
jmp 0x1004c903
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], 0xd4a1cf04
mov dword [ebp - 0x2c], 0x6d0c11e0
mov dword [ebp - 0x44], 0xe283d1f0
mov dword [ebp - 0x2c], 0x3cc9f196
mov dword [ebp - 0x3c], 0xfffffff6
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x84]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x84]
cmp eax, dword [ebp - 0x34]
jg 0x1004c8d3
mov edx, ebx
cmp dword [ebp - 0x34], ebx
je 0x1004c8d5
mov edx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x84]
sub edx, eax
je 0x1004c8fa
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004c900
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor ecx, ecx
inc ecx
jmp 0x1004c900
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1004c85c
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp eax, 9
mov eax, dword [ebp - 0x5c]
setne cl
xor edx, edx
cmp ecx, 0x1904383
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x30]
setne cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x14]
setl bl
sub edx, dword [ebp - 0x14]
imul ebx, eax
neg edx
mov eax, dword [ebp - 0x34]
sbb edx, edx
xor ecx, ecx
inc edx
add eax, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
xor esi, esi
inc eax
xor ebx, ebx
mov dword [ebp - 0x24], eax
inc esi
mov eax, dword [ebp - 0x24]
mov edx, esi
mov edi, dword [edi]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x3c], 0x3403e1fe
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x48], 0xd1edbcc7
mov dword [ebp - 0x2c], 0x8f4f80cf
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x18], ebx
jne 0x1004c9b7
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, 0x1c2e
setne dl
sub eax, 6
neg eax
sbb eax, eax
inc eax
imul edx, eax
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 7
jl 0x1004cb4d
mov dword [ebp - 0x14], 0xc164
xor edx, edx
mov dword [ebp - 0x2c], 5
inc edx
mov dword [ebp - 0x44], 0xbac41177
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], 0xe148cb42
mov dword [ebp - 0x3c], 0xfffffff6
cmp dword [ebp - 0x18], ebx
je 0x1004ca7e
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x3380
setne cl
mov dword [ebp - 0x3c], ecx
imul eax, dword [ebp - 0x14], 0x2c1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jne 0x1004ca80
cmp dword [ebp - 0x2c], ebx
jne 0x1004ca80
mov edx, ebx
mov dword [ebp - 0x44], edx
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, 0xe4d7
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, 6
setne cl
add ecx, 8
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], ebx
jne 0x1004cb18
cmp dword [ebp - 0x30], ebx
jne 0x1004cb18
mov esi, ebx
jmp 0x1004cb1b
xor esi, esi
inc esi
mov dword [ebp - 0x20], esi
mov edx, dword [ebp - 0x20]
sub edx, 0x1c17
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, 0x76df
setl cl
xor eax, eax
cmp ecx, edx
setle al
mov dword [ebp - 0x3c], eax
jmp 0x1004cbf3
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x1004cb6a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], 0xcccf04a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004cb59
mov dword [ebp - 0x18], ebx
jmp 0x1004cbed
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x90], ebx
je 0x1004cbc6
cmp dword [ebp - 0x88], ebx
je 0x1004cbc6
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x90]
add ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
mov dword [ebp + eax*4 - 0x90], edx
mov eax, dword [ebp - 0x2c]
lea ecx, [edx - 1]
xor edx, edx
cmp ecx, eax
setne dl
imul eax, edx, 0x9921
mov edx, esi
test eax, eax
jne 0x1004cbc8
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg cl
xor edx, edx
cmp ecx, 0xebdd5e18
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1004cb75
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x4c]
add ecx, esi
mov eax, dword [ecx]
add ecx, esi
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], ebx
jmp 0x1004cc1f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0xdd33
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1004cc11
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jl 0x1004cd8d
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1004cd7e
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], 0xffffffff
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004cc69
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x14], ebx
jmp 0x1004cd6c
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], 0xfffffffd
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x58]
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x1004cd02
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x58]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x1004ccd8
cmp dword [ebp - 0x30], ebx
jne 0x1004ccd8
mov esi, ebx
jmp 0x1004ccdb
xor esi, esi
inc esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp esi, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x44]
jne 0x1004cd02
cmp dword [ebp - 0x58], ebx
jne 0x1004cd02
mov ecx, ebx
jmp 0x1004cd05
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 8
setg al
cmp eax, dword [ebp - 0x20]
jne 0x1004cd5f
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x1004cd66
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1004cd3f
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x58], ebx
jne 0x1004cd3f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004cd3a
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
dec dword [ebp - 0x18]
jns 0x1004cd22
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1004cd58
push 0x1687
push ebx
push 0x1a98
call dword [sym.imp.USER32.dll_GetWindowTextW]
dec dword [ebp - 0x34]
jns 0x1004cd1a
jmp 0x1004cd66
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1004cc71
dec dword [ebp - 0x20]
jns 0x1004cc4b
dec dword [ebp - 0x30]
jns 0x1004cc31
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], ebx
jne 0x1004ce57
cmp byte [ebp - 0x50], bl
je 0x1004cdb0
cmp dword [ebp - 0x38], 1
jne 0x1004cdb0
mov edx, dword [ebp + 8]
lea eax, [edi + esi*4]
add dword [edx + 8], eax
mov eax, dword [ecx]
add ecx, esi
mov dword [ebp - 0x2c], eax
push edi
mov eax, dword [ecx]
add ecx, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
call fcn.10052ea5
pop ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
push eax
push edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.10051452
mov eax, dword [ebp - 0x40]
mov edi, ebx
mov ecx, dword [ebp - 0x70]
test eax, eax
jle 0x1004ce38
xor esi, esi
inc esi
mov eax, edi
and eax, 0x80000001
jns 0x1004ce01
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
add eax, edi
add eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x24]
jmp 0x1004ce16
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x40]
cmp word [ecx + edx*2], bx
jne 0x1004ce13
mov eax, dword [ebp - 0x28]
mov word [ecx + edx*2], si
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x38]
mov byte [edi + edx], al
inc edi
mov eax, dword [ebp - 0x40]
cmp edi, eax
jl 0x1004cdf3
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x38]
mov dword [edx + 4], eax
test ecx, ecx
je 0x1004ce57
push ecx
call fcn.10057b87
pop ecx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
push 2
mov dword [ebp - 0x28], 0xe387fb0b
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1004ce73
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1004ce66
mov dword [ebp - 0x18], ebx
jmp 0x1004ce8e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c], 0x39ed080c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1004ce7d
mov dword [ebp - 0x18], ebx
jmp 0x1004cea6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004ce99
xor ecx, ecx
mov dword [ebp - 0x28], ebx
inc ecx
cmp dword [ebp - 0x28], edx
jge 0x1004cec6
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xdc], ecx
inc dword [ebp - 0x28]
jmp 0x1004ceb2
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], 0x18
jne 0x1004cfc9
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0x5cc25bfc
mov dword [ebp - 0x2c], 0x7603
mov dword [ebp - 0x2c], 0xafa9b64f
mov dword [ebp - 0x2c], 0xe6aa1654
mov dword [ebp - 0x2c], 0x509e71b3
mov dword [ebp - 0x24], 0x3e24
cmp dword [ebp - 0x24], 0x41a4
jle 0x1004cf4a
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 0x40e8
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10617a78
cdq
push edx
push eax
call fcn.10021ac1
add ebx, esi
dec dword [ebp - 0x38]
jne 0x1004cf1b
inc esi
push 0
pop ebx
cmp esi, 0x1cad
jl 0x1004cf11
inc edi
cmp edi, 0x4704
jl 0x1004cf0f
mov dword [ebp - 0x38], 0xdf0ebf90
mov dword [ebp - 4], 5
cmp dword [ebp - 0x24], 0x3c25
jge 0x1004cf70
mov edx, 0x10009278
mov ecx, 0x10617a78
call fcn.100250d0
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
inc ecx
mov dword [ebp - 0x4c], ebx
jmp 0x1004cfb2
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x10c], 0xc34e
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jl 0x1004cfa1
inc dword [ebp - 0xd4]
dec dword [ebp - 0x38]
inc dword [ebp - 0x28]
jmp 0x1004cecd
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret