Function at 0x479382
Capabilities:
Delete file
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c8
push esi
xor eax, eax
mov dword [esp + 0x4c], ecx
xor esi, esi
mov dword [esp + 0x9c], eax
push edi
inc esi
mov edi, edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x10], eax
jmp 0x4793c3
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x264], 0x1101
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x4793b0
mov dword [esp + 0x34], 0xffffffe5
cmp dword [esp + 0x34], 0xf
jg 0x479478
mov dword [esp + 0x38], 0x25cbd945
mov dword [esp + 0x20], 0xf1f13b01
mov dword [esp + 0x10], eax
jmp 0x479406
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x240], 6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x4793f3
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x240], esi
cmp dword [esp + 0x34], esi
jle 0x479429
cmp dword [esp + 0x26c], eax
jne 0x479429
mov esi, eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
cmp ecx, edx
push 0
pop edx
setg dl
xor ecx, ecx
cmp edx, esi
setg cl
mov dword [esp + 0x20], ecx
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x479466
push 0x754
push 0xfc
push 0x100d
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 0xf
push 1
pop esi
jle 0x4793dd
mov dword [esp + 0x24], 0xdb3ae355
mov dword [esp + 0x20], 0x7ab6
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x28], 0x9ae4f78d
mov dword [esp + 0x28], 0xcdd711a5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], 0xd20a2e71
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], 0xa6d786ff
mov dword [esp + 0x1c], 0x2fc53d8b
mov dword [esp + 0x48], 0x93046aa1
mov dword [esp + 0x1c], 0xcaa7054f
push 0xfffffffffffffff6
pop ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x10c], eax
mov dword [esp + 0x10], eax
jmp 0x479507
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x158], 0x3b00b722
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x4794f4
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0x12
jg 0x4796bc
mov dword [esp + 0x34], 0xd2e8
lea ecx, [esp + 0x114]
mov dword [esp + 0x68], eax
mov dword [esp + 0x3c], 0xa67f6a19
push esi
call fcn.00421789
mov dword [esp + 0x3c], 0xdda5659c
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x104], 0x71be33bd
mov dword [esp + 0x2c], 7
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], eax
jmp 0x479583
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x114]
mov dword [ecx + edx*4], 0x818f8f6a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x47956d
mov dword [esp + 0xc], eax
jmp 0x4795a2
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x150], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x47958f
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x20], 0x83dc0e3e
ja 0x4795cb
mov edx, eax
cmp dword [esp + 0x24], eax
je 0x4795cd
mov edx, esi
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
imul ecx, dword [esp + 0x34]
cmp ecx, 0xa8bc
setl al
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [eax], ecx
mov eax, dword [esp + 0x38]
imul eax, ecx
test eax, eax
je 0x47963c
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
mov eax, dword [esp + 0x104]
mov eax, dword [esp + 0x15c]
mov eax, dword [esp + 0x114]
mov dword [eax], esi
mov eax, dword [esp + 0x10c]
mov eax, dword [esp + 0x15c]
dec dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x28], eax
jl 0x479662
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
xor edx, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
cmp eax, 0x9dd62858
setne dl
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x150]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x30]
setg cl
sub eax, ecx
lea ecx, [esp + 0x114]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x3c], eax
call fcn.00421a31
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x12
push 0
pop eax
jle 0x47951d
mov ecx, dword [0xab1cb0]
test cl, 1
jne 0x47974b
push eax
or ecx, esi
mov dword [0xab1cc0], eax
push eax
mov dword [0xab1cb0], ecx
mov dword [0xab1cc4], eax
call fcn.00431735
mov dword [0xab1cc0], eax
xor esi, esi
mov dword [esp + 0x110], eax
mov ecx, 0xab1cc8
lea eax, [esp + 0x110]
mov dword [0xab1cc8], esi
push eax
push 0x10
push esi
lea eax, [esp + 0x1c4]
mov dword [0xab1cd0], esi
push eax
mov dword [0xab1cdc], 0x3f800000
mov dword [0xab1ccc], esi
call fcn.0043146b
push 0x4b9ece
mov dword [0xab1cd4], 7
mov dword [0xab1cd8], 8
call fcn.004a0baf
pop ecx
inc esi
mov dword [esp + 0xc], 0xfffffffc
xor eax, eax
mov dword [esp + 0x10], 0xfffffff6
mov dword [esp + 0x24], 0xcdfd
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
jmp 0x47977f
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x40], 0x6af1124f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x47976f
mov dword [esp + 0xc], eax
jmp 0x479798
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x64], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x47978c
mov dword [esp + 0xc], eax
jmp 0x4798bc
mov dword [esp + 0x1c], 4
mov dword [esp + 0x2c], 0xfb9a31c0
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x40]
cmp dword [esp + 0x40], ecx
jne 0x4797ed
mov ecx, dword [esp + 0xc]
mov edx, 0x86aeba4d
mov ecx, dword [esp + ecx*4 + 0x40]
cmp edx, ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
je 0x4797ed
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x40]
mov ecx, dword [esp + 0xc]
xor edx, edx
push 0
mov ecx, dword [esp + ecx*4 + 0x44]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x44]
cmp ecx, esi
setne dl
neg edx
mov dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x44]
mov ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x44]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + ecx*4 + 0x44]
cmp ecx, 0x6d5d
setl dl
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub edx, ecx
xor ecx, ecx
cmp edx, 0xfffffff9
setne cl
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + ecx*4 + 0x44]
mov ecx, dword [esp + 0x30]
sub esi, ecx
mov ecx, dword [esp + 0x44]
dec edx
add esi, edx
mov edx, dword [esp + 0x44]
add esi, ecx
mov ecx, dword [esp + 0x10]
cmp edx, ecx
pop ecx
setge cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
sub ecx, esi
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
setl dl
xor esi, esi
add ecx, edx
imul ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
inc dword [esp + 0xc]
inc esi
cmp dword [esp + 0xc], esi
jle 0x4797a7
push 3
pop esi
mov dword [esp + 0xc], esi
jmp 0x4799b3
mov dword [esp + 0x30], 0x49dd
mov dword [esp + 0x34], 0x63ccf75b
mov dword [esp + 0x30], 0xbf60700c
mov dword [esp + 0x24], eax
jmp 0x4799a5
mov dword [esp + 0x30], eax
jmp 0x47996f
mov dword [esp + 0x10], 0x13d7aff7
mov dword [esp + 0x14], eax
jmp 0x479965
mov ecx, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x64]
cmp ecx, 0x47ca
setl dl
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + ecx*4 + 0x64]
cmp ecx, dword [esp + 0x34]
jle 0x47993d
cmp dword [esp + 0x10], 0x94d23a2c
sbb ecx, ecx
inc ecx
mov dword [esp + 0x34], ecx
jmp 0x479961
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], eax
jl 0x479961
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47995b
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
xor eax, eax
dec dword [esp + 0x10]
jns 0x479947
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x479907
inc dword [esp + 0x30]
cmp dword [esp + 0x30], eax
jle 0x4798f9
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], eax
jl 0x4799a1
mov dword [esp + 0x20], 0x226f
mov dword [esp + 0x34], eax
jmp 0x479995
inc dword [esp + 0x20]
inc dword [esp + 0x34]
cmp dword [esp + 0x34], eax
jle 0x47998d
dec dword [esp + 0x14]
jns 0x47997f
inc dword [esp + 0x24]
cmp dword [esp + 0x24], eax
jle 0x4798f3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x18
jle 0x4798d2
imul eax, dword [esp + 0x50], 0x2710
add eax, edi
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x9c]
push eax
call fcn.0047b38e
mov edi, dword [eax]
xor eax, eax
mov dword [esp + 0x14], 0xfffffff8
mov dword [esp + 0x10], eax
jmp 0x4799fd
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x258], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x4799ee
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xfffffff0
jle 0x479a93
xor esi, esi
push 2
lea ecx, [esp + 0x1a0]
call fcn.00421789
mov dword [esp + 0x1c], 0xfffffffb
mov dword [esp + 0xc], esi
jmp 0x479a46
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x19c]
mov dword [eax + ecx*4], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x479a30
mov dword [esp + 0xc], esi
jmp 0x479a66
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x2a0], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x479a53
mov eax, dword [esp + 0x19c]
lea ecx, [esp + 0x19c]
mov dword [eax + 4], esi
call fcn.00421a31
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff0
jg 0x479a14
push 3
xor eax, eax
pop esi
mov dword [esp + 0x14], eax
jmp 0x479aac
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x258], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x479a99
test edi, edi
je 0x479afa
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
mov dword [esp + 0xc8], edi
je 0x479ad5
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47b30a
push 0x12a8
push eax
push 0x20d0
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x47b30a
push 4
pop edi
mov dword [esp + 0x2c], 0xd6c05baf
lea ecx, [esp + 0x190]
push edi
call fcn.00421789
xor eax, eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x479b38
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x190]
mov dword [ecx + edx*4], 0x8e17b844
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x479b22
mov dword [esp + 0x2c], eax
jmp 0x479bb2
mov dword [esp + 0x10], 9
mov dword [esp + 0x20], 9
mov dword [esp + 0x10], eax
jmp 0x479b69
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x284], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x479b5a
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], eax
jl 0x479bae
mov dword [esp + 0x20], 0x90ef307d
mov ecx, dword [esp + 0x10]
cmp dword [esp + ecx*4 + 0x284], eax
jne 0x479bae
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x190]
mov dword [ecx + 0xc], edx
dec dword [esp + 0x10]
jns 0x479b79
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0x1d
jne 0x479b44
lea ecx, [esp + 0x190]
call fcn.00421a31
mov eax, dword [0xab1cb0]
xor esi, esi
test al, 2
jne 0x479c4f
push esi
or eax, 2
mov dword [0xab1c90], esi
push esi
mov dword [0xab1cb0], eax
mov dword [0xab1c94], esi
call fcn.00431735
mov dword [0xab1c90], eax
mov ecx, 0xab1c98
mov dword [esp + 0x108], eax
lea eax, [esp + 0x108]
push eax
push 0x10
push esi
lea eax, [esp + 0x1c8]
mov dword [0xab1c98], esi
push eax
mov dword [0xab1ca0], esi
mov dword [0xab1cac], 0x3f800000
mov dword [0xab1c9c], esi
call fcn.0043146b
push 0x4b9ec9
mov dword [0xab1ca4], 7
mov dword [0xab1ca8], 8
call fcn.004a0baf
pop ecx
lea eax, [esp + 0x50]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0xbc], xmm0
call fcn.0047b3f0
cmp byte [ebp + 0xc], 0
mov edi, dword [eax]
mov dword [esp + 0x34], edi
jne 0x479c79
test edi, edi
jne 0x47a0ce
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], 0x822e6e7f
xor edi, edi
mov dword [esp + 0x1c], 0x971867b8
inc edi
push 2
pop esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], 0xcc2fdcba
mov dword [esp + 0x1c], 0x7c9d5fac
mov dword [esp + 0x20], 0xfffffffd
mov dword [esp + 0x48], 0x391cb4e7
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x1c], 0xdade
mov dword [esp + 0x1c], 0xfffffff7
mov dword [esp + 0x1c], 0xc1d10227
mov dword [esp + 0x3c], 0xf72b5725
mov dword [esp + 0x1c], 0x9694d2b5
mov dword [esp + 0x1c], 0xadb82134
mov dword [esp + 0x1c], 0x41ce3cb5
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0x932e3ca3
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x1c], 0xdb39523d
mov dword [esp + 0x1c], 0x40a98cee
mov dword [esp + 0x2c], 0xb32e2659
mov dword [esp + 0x10], 0xee91b76
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], 0xc9bf5e4d
push esi
call fcn.00421789
mov dword [esp + 0x1c], 0x1f6657ee
xor eax, eax
mov dword [esp + 0x1c], 0xd402
mov dword [esp + 0x10], 0x70105c65
mov dword [esp + 0xc], eax
jmp 0x479d74
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x27c], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x479d65
mov dword [esp + 0xc], eax
jmp 0x479d93
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x78]
mov dword [ecx + edx*4], 0x25fc1c57
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x479d80
mov dword [esp + 0xc], eax
jmp 0x479db2
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0xfc], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x479d9f
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
je 0x479dca
mov esi, edi
cmp dword [esp + 0x2c], eax
jne 0x479dcc
mov esi, eax
inc dword [esp + 0xfc]
xor edx, edx
mov ecx, dword [esp + 0xfc]
cmp ecx, esi
mov ecx, dword [esp + 0x28]
setg dl
mov dword [esp + 0x1c], edx
xor edx, edx
cmp ecx, 0x558bac04
setl dl
xor ecx, ecx
cmp edx, dword [esp + 0x1c]
setg cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
jmp 0x479f1f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], eax
jl 0x479f1b
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], eax
jl 0x479e5a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov dword [ecx + edx*4], 0xfffffffe
dec dword [esp + 0x10]
jns 0x479e45
mov edi, dword [esp + 0x14]
xor edx, edx
imul ecx, dword [esp + 0x20], 0x4440
mov esi, dword [esp + 0x78]
push 0
cmp ecx, dword [esi + edi*4]
setl dl
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x7c]
add edx, dword [ecx + esi*4]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
imul edx, dword [ecx + edi*4]
cmp edx, 0xd92
pop edx
setl dl
add edx, dword [ecx + esi*4]
cmp edx, dword [esp + 0x3c]
jl 0x479ebc
cmp dword [esp + 0x2c], eax
jne 0x479ebc
mov edi, eax
jmp 0x479ebf
xor edi, edi
inc edi
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + ecx*4]
imul ecx, edi
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [edx + esi*4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
neg ecx
cmp dword [edx + esi*4], ecx
jne 0x479f05
cmp dword [esp + 0x48], eax
je 0x479f05
xor edi, edi
inc edi
mov ecx, edi
jmp 0x479f0a
xor edi, edi
mov ecx, eax
inc edi
mov edx, dword [esp + 0x68]
mov dword [edx + 4], ecx
dec dword [esp + 0x24]
jns 0x479e3b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x479e16
lea ecx, [esp + 0x78]
call fcn.00421a31
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x2b0]
mov ecx, dword [esp + 0x50]
push eax
call fcn.0046acd3
mov esi, eax
lea edi, [esp + 0xbc]
pop ecx
xor eax, eax
push 2
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 + 0x28], eax
mov dword [esp + 0x28], eax
pop esi
jmp 0x479f8a
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x479f86
push eax
push 0x2037
push 0x213b
push 0x1f33
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
xor eax, eax
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jg 0x479f63
cmp byte [ebp + 0xc], 0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ecx
je 0x47a0c8
cmp dword [esp + 0xc0], 0
je 0x47a0c8
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0x20], 0x26fbd10c
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x10], eax
jmp 0x479feb
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x210], 0x841b3c69
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x479fd8
mov dword [esp + 0xc], eax
jmp 0x47a0af
mov dword [esp + 0x30], 0x4392f209
mov dword [esp + 0x28], 1
mov ecx, dword [esp + 0xc]
cmp dword [esp + ecx*4 + 0x210], eax
je 0x47a034
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], 0xdd5d
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
push 0
mov edx, dword [esp + ecx*4 + 0x214]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
pop ecx
setle cl
sub ecx, 0xc28c
add ecx, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], 3
cmp dword [esp + 0x30], eax
jl 0x47a0ab
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47a0a5
push 0x10bb
push eax
push eax
push 0x197d
push eax
push 0x8e6
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
xor eax, eax
dec dword [esp + 0x30]
jns 0x47a080
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x479ffb
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xd0], eax
mov edi, dword [esp + 0x34]
jmp 0x47a0d1
push 2
pop esi
xor eax, eax
lea ecx, [esp + 0x1c8]
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0xf2c29a3d
mov dword [esp + 0x1c], 0x75c19c5a
mov dword [esp + 0x1c], 0xd3f46721
mov dword [esp + 0x1c], 0x1e29ea41
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0xfa72c25f
mov dword [esp + 0x1c], eax
push esi
call fcn.00421789
mov dword [esp + 0x1c], 0x6d8d3833
xor eax, eax
mov dword [esp + 0x1c], 0x3ec9
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x10], eax
jmp 0x47a14b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c8]
mov dword [ecx + edx*4], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x47a135
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], al
je 0x47a168
push 0x1a4f
push eax
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
inc dword [esp + 0x20]
lea ecx, [esp + 0x1c8]
call fcn.00421a31
test edi, edi
jne 0x47a9b8
cmp dword [esp + 0xb8], edi
jle 0x47a9b8
push 4
lea ecx, [esp + 0x124]
call fcn.00421789
mov dword [esp + 0x2c], 0xa1e94870
xor eax, eax
mov dword [esp + 0x20], esi
inc edi
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 3
jge 0x47a1c6
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xe4], edi
inc dword [esp + 0x14]
jmp 0x47a1ae
mov dword [esp + 0x14], eax
jmp 0x47a1e2
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x120]
mov dword [ecx + edx*4], 0xca4f833f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x47a1cc
mov esi, dword [esp + 0x120]
mov dword [esi + 0xc], 2
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + ecx*4 + 0xe4]
mov ecx, dword [esi + 0xc]
mov dword [esp + ecx*4 + 0xe4], edx
mov ecx, dword [esp + 0x2c]
dec dword [esi + 0xc]
jns 0x47a1f7
mov ecx, dword [esp + 0xe8]
cmp dword [esp + 0xe4], edi
jae 0x47a22c
mov edx, edi
cmp dword [esp + 0x20], eax
jne 0x47a22e
mov edx, eax
mov ecx, dword [esp + 0x2c]
imul ecx, edx
add ecx, 0x11082d9a
jne 0x47a244
mov ecx, eax
cmp dword [esi + 0xc], eax
je 0x47a246
mov ecx, edi
mov eax, dword [esp + 0x2c]
sub eax, ecx
xor ecx, ecx
cmp eax, 0xdfbc43c
mov eax, dword [esp + 0x120]
setg cl
xor edx, edx
cmp dword [eax], ecx
sete dl
mov dword [esi + 0xc], edx
test edx, edx
je 0x47a30a
mov dword [esp + 0x10], 0xba1d
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], 0xfffffff7
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
cmp eax, 0x23782ecc
setne cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
setg cl
sub edx, eax
mov eax, dword [esp + 0x10]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x1f230b56
setge al
xor ecx, ecx
cmp eax, 0x5ee8
setne cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor eax, eax
cmp edx, 0x86ae
setne al
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
jmp 0x47a31a
mov dword [esp + 0x1c], 9
mov dword [esp + 0x1c], 0xfffffffe
lea ecx, [esp + 0x120]
call fcn.00421a31
mov dword [esp + 0xc], 0xfffffff8
xor eax, eax
mov dword [esp + 0x20], 0x26fbd10c
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
jmp 0x47a355
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x230], 0x841b3c69
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x47a342
push 3
mov dword [esp + 0x10], eax
pop esi
jmp 0x47a414
mov dword [esp + 0x30], 0x4392f209
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0xc]
cmp dword [esp + ecx*4 + 0x230], eax
je 0x47a39d
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], 0xdd5d
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
push 0
mov edx, dword [esp + ecx*4 + 0x234]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
pop ecx
setle cl
sub ecx, 0xc28c
add ecx, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], esi
cmp dword [esp + 0x30], eax
jl 0x47a410
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47a40a
push 0x10bb
push eax
push eax
push 0x197d
push eax
push 0x8e6
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
xor eax, eax
dec dword [esp + 0x30]
jns 0x47a3e5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x47a368
mov dword [esp + 0x2c], 5
lea ecx, [esp + 0x1f4]
push edi
call fcn.00421789
push esi
lea ecx, [esp + 0x188]
call fcn.00421789
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x47a457
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1e0], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47a448
mov dword [esp + 0xc], eax
jmp 0x47a479
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1f4]
mov dword [ecx + edx*4], 0x121f90ef
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47a463
mov dword [esp + 0xc], eax
jmp 0x47a49b
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x184]
mov dword [ecx + edx*4], 0x1c946b43
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x47a485
mov dword [esp + 0x2c], eax
jmp 0x47a50a
mov dword [esp + 0x10], 0xfffffff6
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0xcd49598a
mov dword [esp + 0x10], eax
jmp 0x47a4d4
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x294], 0x534bf8f0
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x47a4c1
mov dword [esp + 0x10], eax
jmp 0x47a500
mov dword [esp + 0x1c], 5
mov dword [esp + 0x1c], 8
mov dword [esp + 0x1c], 0xfffffffe
inc dword [esp + 0x20]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], eax
jle 0x47a4e0
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], eax
jle 0x47a4a7
mov eax, dword [esp + 0x184]
lea ecx, [esp + 0x184]
inc dword [eax]
call fcn.00421a31
lea ecx, [esp + 0x1f4]
call fcn.00421a31
mov eax, 0xcea5d6c0
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe0], 0xffffffe5
jmp 0x47a5c4
push edi
lea ecx, [esp + 0x130]
call fcn.00421789
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x47a58a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x12c]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x47a574
mov ecx, dword [esp + 0x12c]
cmp dword [ecx], eax
jne 0x47a5d0
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], al
je 0x47a5b1
push eax
push 0x24b9
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
lea ecx, [esp + 0x12c]
call fcn.00421a31
inc dword [esp + 0xe0]
cmp dword [esp + 0xe0], 0xffffffe6
jg 0x47a55f
jmp 0x47a5dc
lea ecx, [esp + 0x12c]
call fcn.00421a31
xor eax, eax
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], al
je 0x47a5f4
push edi
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
xor eax, eax
mov dword [esp + 0x10], 0xd95e17ca
mov dword [esp + 0x28], 0xdfba22e9
mov dword [esp + 0x20], 0xe3e4
mov dword [esp + 0x2c], edi
push 0xfffffffffffffff9
pop ecx
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0xfffffffb
mov dword [esp + 0x1c], 0x3e73
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], 0xbab
mov dword [esp + 0x1c], eax
mov eax, 0xcb69acb3
mov dword [esp + 0x1c], 0xdcec
mov dword [esp + 0x1c], 0x497ea9b9
mov dword [esp + 0x1c], 0xe48f
mov dword [esp + 0x1c], 5
mov dword [esp + 0x1c], 2
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x30], esi
push edi
call fcn.00421789
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x47a6d0
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x2c0], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x47a6bd
mov dword [esp + 0x14], eax
jmp 0x47a6ef
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1d4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47a6dd
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [esp + 0x10]
mov esi, 0xffffac1f
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x20]
sub esi, ecx
add esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
cmp ecx, esi
push 0
setle dl
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
mov ecx, dword [esp + 0x14]
pop edx
setle dl
sub ecx, edx
je 0x47a746
mov edx, edi
cmp dword [esp + 0x20], eax
jne 0x47a748
mov edx, eax
xor ecx, ecx
cmp edx, 0x3b0a6d08
setle cl
cmp ecx, 0xb0ca
jl 0x47a763
xor edi, edi
inc edi
mov dword [esp + 0x14], 0xfffffff6
xor esi, esi
mov dword [esp + 0x28], 0x40a98cee
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x24], 0xdae89405
mov dword [esp + 0x20], 0xaf849fb9
mov dword [esp + 0x20], 6
mov dword [esp + 0x10], esi
jmp 0x47aa06
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x24c], 0x6a8acdd1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x47a9f3
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x14], 0xc1c5
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
jge 0x47aa3f
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x14], 0xa32987c8
sbb eax, eax
neg eax
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x254], eax
call fcn.00473cc6
push 3
lea ecx, [esp + 0x70]
call fcn.00421789
mov dword [esp + 0x10], esi
jmp 0x47aaca
push dword [esp + 0x10]
call fcn.0042182a
mov dword [eax], 0xe387fb0b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
lea ecx, [esp + 0x6c]
jl 0x47aab7
push edi
call fcn.0042182a
mov edi, eax
cmp dword [edi], esi
je 0x47ab4d
mov dword [esp + 0x20], 0xaa165420
mov dword [esp + 0x10], esi
jmp 0x47ab02
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x200], 0xdee21afa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x47aaef
mov ecx, dword [esp + 0x20c]
xor edx, edx
mov eax, dword [esp + 0x208]
cmp ecx, eax
push esi
setne dl
lea ecx, [esp + 0x70]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
call fcn.0042182a
xor ecx, ecx
cmp dword [eax], 0x9dce
setle cl
xor eax, eax
cmp ecx, 0xfffc
setne al
mov dword [edi], eax
jmp 0x47aca1
xor edi, edi
lea ecx, [esp + 0x178]
inc edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
push 2
call fcn.00421789
mov dword [esp + 0x20], 0xfffffff7
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], esi
jmp 0x47ab9a
push dword [esp + 0x14]
lea ecx, [esp + 0x17c]
call fcn.0042182a
mov dword [eax], 0xfffffff7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x47ab80
mov dword [esp + 0x14], esi
jmp 0x47abba
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x148], 0xfffffffc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x47aba7
mov dword [esp + 0x58], esi
cmp dword [esp + 0x58], 2
jg 0x47ac6f
push dword [esp + 0x58]
lea ecx, [esp + 0x70]
call fcn.0042182a
cmp dword [eax], esi
jne 0x47ac6c
cmp dword [esp + 0x58], esi
jne 0x47ac0c
push dword [esp + 0x58]
lea ecx, [esp + 0x70]
call fcn.0042182a
push 1
lea ecx, [esp + 0x17c]
mov edi, eax
call fcn.0042182a
mov ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.0042182a
mov ecx, 0x43b9c309
sub ecx, dword [eax]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x6c]
push dword [esp + 0x58]
call fcn.0042182a
mov edi, dword [esp + 0x20]
xor ecx, ecx
push dword [esp + 0x58]
cmp dword [eax], esi
setge cl
add edi, ecx
lea ecx, [esp + 0x70]
call fcn.0042182a
mov dword [eax], edi
mov dword [esp + 0x20], 0xfffffff7
inc dword [esp + 0x58]
cmp dword [esp + 0x58], 2
jle 0x47abd0
xor edi, edi
inc edi
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x148]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14c]
push edi
call fcn.0042182a
lea ecx, [esp + 0x178]
mov dword [eax], esi
call fcn.00421825
lea ecx, [esp + 0x6c]
call fcn.00421825
mov edi, dword [esp + 0x34]
test edi, edi
je 0x47b257
mov dword [esp + 0x14], 0xfffe
xor esi, esi
mov dword [esp + 0x10], 0x2d8cb4c2
inc esi
mov dword [esp + 0xc], 0x82c4475e
xor eax, eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x30], 0x79cc099a
mov dword [esp + 0x24], 0xfffffffe
mov dword [esp + 0x2c], 0xfffffff9
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], 0xbe583c6d
mov dword [esp + 0x10], eax
jmp 0x47ad18
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x84], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x47ad05
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x2c]
inc dword [esp + 0x2c]
test ecx, ecx
jne 0x47ad57
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x30], 0x2570e81d
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0xc]
jne 0x47ad53
mov ecx, dword [esp + 0x84]
mov edx, eax
jmp 0x47ad59
mov edx, esi
mov ecx, dword [esp + 0x14]
xor ecx, ecx
cmp edx, 0xffffffff
sete cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x1c], ecx
setne dl
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x88]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x8c], eax
jg 0x47adae
mov ecx, eax
cmp dword [esp + 0x14], eax
je 0x47adb0
mov ecx, esi
cmp ecx, esi
mov ecx, dword [esp + 0x88]
push 0
sbb edx, edx
neg edx
cmp edx, ecx
mov ecx, dword [esp + 0x18]
pop edx
setge dl
add ecx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
jmp 0x47afe7
mov dword [esp + 0x34], 0x20b45845
mov dword [esp + 0x1c], 0xb7745ddb
mov dword [esp + 0x30], 0xffffffff
cmp dword [esp + 0x30], eax
jne 0x47adfe
cmp dword [esp + 0x28], eax
jne 0x47adfe
mov esi, eax
cmp dword [esp + 0x34], eax
jne 0x47ae20
mov ecx, dword [esp + 0x34]
xor edx, edx
mov ecx, dword [esp + 0x88]
test ecx, ecx
setns dl
cmp edx, dword [esp + 0x34]
jg 0x47ae20
mov ecx, eax
jmp 0x47ae23
xor ecx, ecx
inc ecx
mov edx, dword [esp + 0x2c]
add edx, ecx
mov ecx, dword [esp + 0x34]
cmp ecx, edx
mov ecx, dword [esp + 0x34]
push 0
pop edx
setle dl
cmp edx, ecx
push 0
pop edx
setg dl
sub edx, dword [esp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp esi, edx
setl cl
sub ecx, dword [esp + 0x34]
imul ecx, dword [esp + 0xc]
cmp ecx, 0xffff
je 0x47af11
mov dword [esp + 0x38], 7
mov dword [esp + 0xc], eax
jmp 0x47af01
mov dword [esp + 0x14], eax
jmp 0x47aef2
mov dword [esp + 0x1c], 0xc7f12237
xor edx, edx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x10]
test ecx, ecx
setns dl
sub esi, edx
jne 0x47aecc
cmp dword [esp + 0xc], eax
jne 0x47aecc
mov ecx, eax
jmp 0x47aecf
xor ecx, ecx
inc ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
sub edx, ecx
sub edx, esi
mov dword [esp + 0x1c], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x47ae7d
inc dword [esp + 0x20]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x47ae77
jmp 0x47afc6
mov dword [esp + 0x38], 2
mov dword [esp + 0x30], eax
jmp 0x47af32
mov ecx, dword [esp + 0x30]
mov dword [esp + ecx*4 + 0x220], 0xdc96
inc dword [esp + 0x30]
cmp dword [esp + 0x30], 4
jl 0x47af1f
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47af4d
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
xor eax, eax
mov edx, dword [esp + 0x3c]
xor esi, esi
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
mov edx, dword [esp + 0x1c]
push esi
pop ecx
setne cl
dec ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x34]
cmp edx, ecx
push esi
mov esi, dword [esp + 0x4c]
pop ecx
setle cl
xor edx, edx
imul esi, ecx
mov ecx, dword [esp + 0x22c]
cmp ecx, 0xdd0
mov ecx, dword [esp + 0x10]
setle dl
sub edx, esi
neg edx
sbb edx, edx
inc edx
add ecx, edx
sub ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
add ecx, 0xa
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0x22c]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xe38f49da
sbb ecx, ecx
neg ecx
add dword [esp + 0x38], ecx
mov byte [esp + 0x1b], al
cmp byte [esp + 0x1b], 0
je 0x47afe0
push 0x24d3
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
inc dword [esp + 0x24]
push 1
pop esi
cmp dword [esp + 0x24], 0xb
jne 0x47add8
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.00479378
push 4
lea ecx, [esp + 0x94]
mov dword [esp + 0xcc], eax
call fcn.00421789
mov dword [esp + 0x1c], 0x835357f4
xor edi, edi
inc edi
mov dword [esp + 0x4c], 0xf3f7e813
mov dword [esp + 0x10], edi
xor esi, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0xc], esi
jmp 0x47b04f
push dword [esp + 0xc]
lea ecx, [esp + 0x94]
call fcn.0042182a
mov dword [eax], 3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x47b035
mov dword [esp + 0xc], esi
jmp 0x47b06b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xa8], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x47b05c
mov dword [esp + 0xc], esi
jmp 0x47b08b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xa4], 0xfda0246c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47b078
mov dword [esp + 0xb0], 3
cmp dword [esp + 0xb0], esi
jl 0x47b235
mov dword [esp + 0x2c], 0xfffffff6
lea ecx, [esp + 0x90]
mov dword [esp + 0x1c], 8
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], 0xfffffffe
push 7
pop eax
mov dword [esp + 0x20], 0x7d926128
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
push dword [esp + 0xb0]
call fcn.0042182a
push dword [esp + 0xb0]
lea ecx, [esp + 0x94]
mov edi, eax
call fcn.0042182a
mov ecx, dword [eax]
mov dword [edi], ecx
xor edi, edi
inc edi
test ecx, ecx
je 0x47b1f3
push edi
lea ecx, [esp + 0x94]
call fcn.0042182a
cmp dword [eax], esi
je 0x47b1f3
inc dword [esp + 0x20]
lea ecx, [esp + 0x90]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
push 2
call fcn.0042182a
mov ecx, dword [esp + 0x4c]
push dword [esp + 0xb0]
add ecx, dword [eax]
xor eax, eax
cmp ecx, 0x3053
lea ecx, [esp + 0x94]
setg al
mov dword [esp + 0x20], eax
call fcn.0042182a
mov edx, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [esp + 0x10]
sete cl
sub ecx, eax
mov dword [esp + 0x140], ecx
jne 0x47b19b
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub ecx, 0xfff9
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
inc ecx
cmp ecx, eax
setne dl
neg edx
je 0x47b1c3
mov eax, edi
cmp dword [esp + 0x10], esi
jne 0x47b1c5
mov eax, esi
cmp eax, dword [esp + 0x2c]
jg 0x47b1d1
cmp dword [esp + 0x10], esi
je 0x47b1ea
push dword [esp + 0xb0]
lea ecx, [esp + 0x94]
call fcn.0042182a
cmp dword [eax], esi
mov eax, edi
jne 0x47b1ec
mov eax, esi
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x90]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x144], esi
push dword [esp + 0xb0]
call fcn.0042182a
xor ecx, ecx
cmp dword [eax], esi
setne cl
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
dec dword [esp + 0xb0]
jns 0x47b0a9
lea ecx, [esp + 0x90]
call fcn.00421825
lea eax, [esp + 0x9c]
push eax
call fcn.0047b38e
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0x383c67ee
mov dword [esp + 0x14], esi
jmp 0x47b27f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xf0], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x47b26c
mov dword [esp + 0x14], esi
jmp 0x47b29f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xa0], 0x8d3a18e4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x47b28c
mov ecx, dword [esp + 0xf0]
xor edx, edx
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0xf4]
cmp eax, ecx
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
setge dl
add eax, edx
xor edx, edx
cmp eax, 0x3358
mov eax, dword [esp + 0x20]
setge dl
sub ecx, edx
xor edx, edx
add ecx, eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0x20]
cmp ecx, eax
setge dl
sub edx, dword [esp + 0x20]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 7
setl al
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
lea esi, [esp + 0xc8]
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 esp, ebp
pop ebp
ret