Function at 0x434358
Capabilities:
Accept command line arguments
Delete file
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x274
push ebx
mov dword [esp + 0x60], edx
xor eax, eax
mov dword [esp + 0x10], 0xffffffff
mov ebx, ecx
mov byte [esp + 0xf], al
push esi
push edi
mov dword [esp + 0x54], ebx
cmp byte [esp + 0x17], al
je 0x4343a4
push eax
push 0x1217
push 0xc82
push eax
push 0x7b0
push 0x719
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x4343bc
mov dword [esp + 0x1c], 6
cmp dword [esp + 0x1c], eax
jne 0x4343c3
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff8
jle 0x4343aa
cmp dword [ebx + 0x10], eax
jne 0x4343cf
xor al, al
jmp 0x435d27
push 2
pop edi
mov dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0x168]
push edi
call fcn.00413ed8
xor eax, eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x434407
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x5c], 0x6bdde0bc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x4343f7
push 3
mov dword [esp + 0x14], eax
pop esi
jmp 0x43442a
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x10c], 0xbe8e56f9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x434417
mov dword [esp + 0x10], eax
jmp 0x43444c
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x168]
mov dword [ecx + edx*4], 0x389
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x434436
mov dword [esp + 0x10c], eax
cmp dword [esp + 0x10c], eax
jl 0x43455a
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x434543
mov dword [esp + 0x34], 1
lea ecx, [esp + 0x15c]
push 1
call fcn.00413ed8
xor eax, eax
mov dword [esp + 0x1c], 0xe294
mov dword [esp + 0x18], eax
jmp 0x4344b3
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + edx*4], 0x8fdeb772
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jl 0x43449d
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], eax
jl 0x434531
mov dword [esp + 0x20], 0xcdead9ba
mov dword [esp + 0x20], eax
jmp 0x434501
mov dword [esp + 0x1c], 0x486b6feb
inc dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0x4344f6
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jl 0x4344e4
inc dword [esp + 0x20]
cmp dword [esp + 0x20], eax
jle 0x4344d2
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x43452b
push 1
push 0xd8e
push 0xc34
push 0x1d4f
call dword [sym.imp.USER32.dll_SetScrollPos]
xor eax, eax
dec dword [esp + 0x34]
jns 0x4344c4
lea ecx, [esp + 0x15c]
call fcn.0041431c
inc dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x10], eax
jle 0x434477
dec dword [esp + 0x10c]
jns 0x434466
mov eax, dword [esp + 0x168]
lea ecx, [esp + 0x168]
dec dword [eax + 4]
call fcn.0041431c
lea ecx, [esp + 0x68]
call fcn.00432a50
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], eax
jmp 0x434598
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x264], 1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x434585
mov dword [esp + 0x18], eax
jmp 0x4345c0
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4345bc
push 0xf9e
call dword [sym.imp.GDI32.dll_UpdateColors]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x4345a4
mov dword [esp + 0x20], 0x24a8c6a5
mov dword [esp + 0x20], 0xb
cmp dword [esp + 0x20], 0xe
jge 0x43475b
push dword [esp + 0x5c]
movdqa xmm0, xmmword [0xaba910]
lea ecx, [esp + 0x228]
push ecx
lea ecx, [esp + 0x21c]
mov dword [esp + 0x98], eax
push ecx
push eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
movdqu xmmword [esp + 0x224], xmm0
mov dword [esp + 0xa8], eax
call fcn.0041519b
mov dword [esp + 0x1c], 0xffffffff
xor eax, eax
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x18], eax
jmp 0x434653
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0xd4], 0xa1836ccb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x434640
mov dword [esp + 0xd8], esi
cmp dword [esp + 0xd8], eax
jl 0x434735
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], 0x2e580997
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x1c], 0x7b47
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x1c], ecx
jl 0x4346c1
cmp dword [esp + 0x20], eax
jne 0x4346c1
cmp dword [esp + 0x18], eax
je 0x4346cc
cmp dword [esp + 0x18], eax
je 0x4346cc
xor edx, edx
inc edx
jmp 0x4346ce
mov edx, eax
mov edi, dword [esp + 0xd8]
xor ecx, ecx
cmp edx, 0xffffffff
setg cl
shl ecx, 3
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, 0x6f37d437
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
setl bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x2c]
setne dl
sub esi, edx
mov edx, dword [ecx + 8]
sub esi, 0x5661
mov ecx, dword [esp + 0x90]
neg esi
sbb esi, esi
add edx, 0x27431b34
inc esi
add edx, esi
mov dword [ecx + edi*4], edx
dec dword [esp + 0xd8]
jns 0x434679
push 3
pop esi
cmp dword [esp + 0x20], eax
lea ecx, [esp + 0x90]
call fcn.0041431c
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xe
push 0
pop eax
jl 0x4345e1
mov ebx, dword [esp + 0x54]
xor ecx, ecx
mov byte [esp + 0x17], cl
cmp byte [esp + 0x17], cl
je 0x434772
push ecx
push ecx
push ecx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
xor ecx, ecx
cmp dword [ebx + 0x14], 0x10
jb 0x43477c
mov edx, dword [ebx]
jmp 0x43477e
mov edx, ebx
cmp dword [ebx + 0x14], 0x10
mov dword [esp + 0x60], edx
jb 0x43478c
mov esi, dword [ebx]
jmp 0x43478e
mov esi, ebx
mov eax, dword [ebx + 0x10]
add eax, esi
cmp edx, eax
je 0x435d25
mov dword [esp + 0x10], 9
mov dword [esp + 0x1c], 0x4e20eeb
push 3
mov dword [esp + 0x3c], 0x38fd2320
mov dword [esp + 0x14], ecx
pop edi
cmp dword [esp + 0x10], 0x14
jle 0x434a3e
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], ecx
jmp 0x4347e3
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x6c], 0xfffffff6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x4347d3
mov dword [esp + 0x18], ecx
jmp 0x434a2a
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x10], ecx
je 0x434804
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x18], ecx
jne 0x434834
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
je 0x434823
cmp dword [esp + 0x20], ecx
je 0x434823
xor eax, eax
inc eax
jmp 0x434825
mov eax, ecx
add eax, 0x53f0d3ec
mov dword [esp + 0x6c], eax
je 0x434834
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x10]
je 0x434a20
mov dword [esp + 0x34], 0x7758a8c
lea ecx, [esp + 0x118]
push 4
call fcn.00413ed8
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x43487a
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x118]
mov dword [ecx + edx*4], 0x600bf094
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x434864
mov dword [esp + 0x20], 2
cmp dword [esp + 0x20], eax
jl 0x434a10
push dword [esp + 0x5c]
movdqa xmm0, xmmword [0xaba8e0]
lea ecx, [esp + 0x238]
push ecx
lea ecx, [esp + 0x22c]
mov dword [esp + 0xc0], eax
push ecx
push eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0xcc], eax
movdqu xmmword [esp + 0x234], xmm0
mov dword [esp + 0xd0], eax
call fcn.0041519b
mov esi, dword [esp + 0xb8]
and dword [esi + 4], 0
mov dword [esp + 0x2c], 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esi + 4]
cmp dword [esp + eax*4 + 0x6c], ecx
jl 0x4349c1
mov dword [esp + 0x30], 0xfffffff8
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x434925
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xb8]
cmp dword [eax + 8], 8
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x6c]
cmp eax, edx
setle cl
xor edx, edx
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x118]
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
cmp edx, eax
mov eax, dword [esp + 0x30]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x6c]
mov edx, 0x41e56eb4
setg cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [esp + 0x20]
setge bl
xor ecx, ecx
inc ecx
xor edx, edx
sub ecx, ebx
mov dword [esp + eax*4 + 0x6c], ebx
mov eax, dword [esp + 0x2c]
cmp ecx, eax
setle dl
sub edx, 0x8af1
neg edx
sbb edx, edx
add edx, 0xffff52ae
mov dword [esp + 0x2c], edx
jmp 0x4349ea
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x4349d3
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x118]
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x6c], eax
inc dword [esi + 4]
cmp dword [esi + 4], 2
jle 0x4348e5
lea ecx, [esp + 0xb8]
call fcn.0041431c
dec dword [esp + 0x20]
push 0
pop eax
jns 0x434893
lea ecx, [esp + 0x118]
call fcn.0041431c
xor ecx, ecx
jmp 0x434a26
cmp dword [esp + 0x38], ecx
jne 0x434a35
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 9
jne 0x4347f2
inc dword [esp + 0x10]
jmp 0x4347ba
push dword [esp + 0x5c]
lea eax, [esp + 0x248]
mov dword [esp + 0xa0], ecx
push eax
lea eax, [esp + 0x23c]
mov dword [esp + 0xa8], ecx
push eax
xorps xmm0, xmm0
mov dword [esp + 0xb0], ecx
push ecx
lea ecx, [esp + 0xac]
movdqu xmmword [esp + 0x244], xmm0
call fcn.0041519b
xor eax, eax
mov dword [esp + 0x18], eax
push 0xfffffffffffffff7
pop ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], eax
jl 0x434cc6
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
jmp 0x434ad0
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xe4], 0x123d4a1c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x434abd
mov dword [esp + 0x10], eax
jmp 0x434aed
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x64], 0x7a83
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x434add
mov dword [esp + 0x20], eax
jmp 0x434b0d
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x434afa
mov dword [esp + 0x20], eax
jmp 0x434caf
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], eax
jmp 0x434b36
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x78], 0x947597a6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x434b26
mov dword [esp + 0x10], eax
jmp 0x434b55
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x148], 0xd2668451
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x434b42
mov dword [esp + 0x80], edi
cmp dword [esp + 0x80], eax
jl 0x434c7e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], 0xd0c11e04
mov dword [esp + 0x1c], 0x43cc9f19
mov dword [esp + 0x1c], 0x13ca4d9a
mov dword [esp + 0x1c], 0x9c9d9403
mov dword [esp + 0x1c], 0x69209a48
mov dword [esp + 0x2c], 0xcbde
inc dword [esp + 0x1c]
je 0x434c21
mov ecx, dword [esp + 0xe4]
mov edx, 0xe1f2
sub edx, ecx
cmp edx, dword [esp + 0x2c]
jg 0x434bcc
cmp dword [esp + 0x148], eax
je 0x434bcc
xor ecx, ecx
inc ecx
jmp 0x434bce
mov ecx, eax
add ecx, 0xe7e0ae4c
xor ebx, ebx
cmp ecx, 0x3c94681c
mov ecx, dword [esp + 0x64]
setg bl
xor edx, edx
cmp ebx, ecx
setne dl
xor ebx, ebx
mov dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
inc edx
mov ecx, dword [esp + 0x80]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub edx, ecx
mov ecx, dword [esp + 0x64]
cmp edx, ecx
setl bl
mov dword [esp + 0x148], ebx
test ebx, ebx
je 0x434c21
xor edx, edx
inc edx
jmp 0x434c23
mov edx, eax
mov edi, dword [esp + 0x80]
cmp edx, 0xb14f4e79
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
sbb edx, edx
mov dword [esp + 0x1c], ecx
neg edx
mov ecx, dword [esp + 0x9c]
xor ebx, ebx
add edx, dword [ecx + esi*4]
cmp dword [ecx + edi*4], edx
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x1c]
setl bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x9c]
setle dl
mov dword [ecx + esi*4], edx
dec dword [esp + 0x80]
jns 0x434b70
push 3
pop edi
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], eax
jl 0x434cab
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x434ca5
push 0x17c4
push 0x240d
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
dec dword [esp + 0x24]
jns 0x434c88
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x434b1c
dec dword [esp + 0x18]
push 0xfffffffffffffff7
pop ecx
jns 0x434ab3
lea ecx, [esp + 0x9c]
call fcn.0041431c
mov dword [esp + 0x10], 0xb3ae3556
xor eax, eax
mov dword [esp + 0x198], 0xffffffff
mov dword [esp + 0x19c], 0xffffffff
mov dword [esp + 0x1a0], 0xffffffff
mov dword [esp + 0x1a4], 0xffffffff
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x1d
jge 0x434dfb
mov edi, 0xffff
xor ebx, ebx
inc ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
jmp 0x434d40
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x100], 0xfffffffb
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x434d2d
cmp dword [esp + 0x10], edi
mov ecx, 0x615e82aa
sbb edx, edx
inc edx
sub ecx, edx
je 0x434d5f
mov ecx, ebx
cmp dword [esp + 0x20], eax
jne 0x434d61
mov ecx, eax
mov esi, dword [esp + 0x20]
xor edx, edx
add esi, ecx
mov ecx, dword [esp + 0x20]
cmp esi, ecx
mov ecx, dword [esp + 0x20]
setle dl
xor ebx, ebx
imul edx, edx, 0xffff
cmp edx, ecx
setle bl
mov dword [esp + 0x198], ebx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
xor ebx, ebx
cmp dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
setg bl
xor edx, edx
cmp ebx, ecx
setg dl
xor ebx, ebx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x100]
add edx, 0xa3f3
cmp edx, ecx
mov ecx, dword [esp + 0x100]
setge bl
xor edx, edx
cmp ebx, ecx
sete dl
sub edx, edi
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x100], eax
jne 0x434dfb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1d
jl 0x434d20
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x434e12
push 0x1596
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], 0x5534bf8f
mov dword [esp + 0x1c], 0x1c946b43
mov dword [esp + 0x24], eax
jmp 0x434e3c
mov ecx, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x3c], 6
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 1
jl 0x434e2c
cmp dword [esp + 0x3c], eax
je 0x434e4d
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
mov ecx, dword [esp + 0x3c]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x3c]
setl dl
mov dword [esp + 0x1c], edx
xor edx, edx
cmp dword [esp + 0x1c], ecx
setge dl
mov dword [esp + 0x1c], edx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x434eb1
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x130]
push 2
call fcn.00413ed8
xor ebx, ebx
mov dword [esp + 0x30], 0xffffffff
inc ebx
xor esi, esi
push 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], esi
pop edx
jmp 0x434ef4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1d0], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x434ee1
mov dword [esp + 0x10], esi
jmp 0x434f16
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0xae77ab39
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x434f00
mov dword [esp + 0x20], esi
jmp 0x434f36
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x1d0], 7
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x434f23
dec dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1d0]
neg edi
mov eax, dword [esp + 0x130]
sbb edi, edi
xor edx, edx
neg edi
cmp ecx, dword [eax]
setg dl
sub edx, edi
cmp edx, 0xffffffff
jge 0x434f6a
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x130]
cmp dword [edx + 4], 0xffffffff
setne cl
xor eax, eax
cmp ecx, dword [edx + 4]
lea ecx, [esp + 0x130]
setge al
mov dword [edx + 4], eax
call fcn.0041431c
push 4
mov dword [esp + 0x28], esi
pop edi
jmp 0x434fb8
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x254], 0x540d
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jl 0x434fa5
push 2
pop esi
push esi
lea ecx, [esp + 0x200]
call fcn.00413ed8
mov dword [esp + 0x18], 0x57976326
lea ecx, [esp + 0x1b8]
push edi
call fcn.00413ed8
mov dword [esp + 0x1c], 0x8f4e1c2e
lea ecx, [esp + 0x1f0]
push edi
call fcn.00413ed8
xor eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], eax
jmp 0x43501a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1fc]
mov dword [ecx + edx*4], 0xffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x435004
mov dword [esp + 0x10], eax
jmp 0x43503c
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x435026
mov dword [esp + 0x10], eax
jmp 0x43505e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1f0]
mov dword [ecx + edx*4], 0xfffffff7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x435048
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
jg 0x4350cc
xor esi, esi
mov dword [esp + 0x1c], 0x696a485b
lea ecx, [esp + 0x208]
push ebx
call fcn.00413ed8
mov dword [esp + 0x1c], 0x18e
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
jmp 0x4350a9
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x208]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x24]
cmp dword [esp + 0x24], ebx
jl 0x435097
inc dword [esp + 0x1c]
lea ecx, [esp + 0x208]
call fcn.0041431c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x435070
push 2
pop esi
lea ecx, [esp + 0x1f0]
call fcn.0041431c
lea ecx, [esp + 0x1b8]
call fcn.0041431c
lea ecx, [esp + 0x1fc]
call fcn.0041431c
xor eax, eax
push 3
mov dword [esp + 0x38], eax
pop edi
cmp dword [esp + 0x34], edi
jg 0x4359e1
jmp 0x435108
push 2
pop esi
mov dword [esp + 0x1c], 0xf3f17e2f
mov dword [esp + 0x18], 0x5d70512a
mov dword [esp + 0x10], eax
jmp 0x435131
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x84], 0x64a6847d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x43511e
mov dword [esp + 0x10], eax
jmp 0x43514d
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x4c], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x43513d
mov dword [esp + 0x50], esi
cmp dword [esp + 0x50], eax
jl 0x435225
mov dword [esp + 0x1c], 0x10a1434a
mov edx, 0xaab72b21
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x50]
mov ecx, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x50]
mov ecx, dword [esp + ecx*4 + 0x84]
mov dword [esp + 0x1c], 4
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x1c]
sub edx, ecx
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, esi
setle cl
xor ebx, ebx
lea edx, [ecx - 1]
mov ecx, dword [esp + 0x4c]
cmp edx, ecx
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
setge bl
add edx, ebx
mov esi, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esp + 0x50]
imul esi, edx
mov ecx, dword [esp + ecx*4 + 0x84]
add ecx, esi
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x435215
push 0xb5a
push 0x5c
call dword [sym.imp.GDI32.dll_SetTextAlign]
xor eax, eax
dec dword [esp + 0x50]
jns 0x435161
xor ebx, ebx
push 2
inc ebx
pop esi
mov dword [esp + 0x18], eax
jmp 0x435259
mov dword [esp + 0x1c], eax
dec dword [esp + 0x1c]
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x435255
push 0xecb
push 0x1267
push 0x200a
call dword [sym.imp.USER32.dll_EnableScrollBar]
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x43522b
mov dword [esp + 0x20], 5
lea ecx, [esp + 0xec]
push ebx
call fcn.00413ed8
push edi
lea ecx, [esp + 0x184]
call fcn.00413ed8
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x43529f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xec]
mov dword [ecx + edx*4], 0x97f6af11
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x435289
mov dword [esp + 0x10], eax
jmp 0x4352c1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x180]
mov dword [ecx + edx*4], 0xa75c19c5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x4352ab
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x12
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0x7b04800f
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], eax
jmp 0x43532c
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x180]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x18], 0xfffffffc
jmp 0x435321
mov ecx, dword [esp + 0xec]
cmp dword [ecx], eax
jne 0x435328
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff2
jg 0x43530a
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x4352ee
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x43534a
push 0x8ff
call dword [sym.imp.USER32.dll_GetKeyboardType]
xor eax, eax
mov ecx, dword [esp + 0xec]
dec dword [ecx]
cmp dword [ecx], 0xfffffff6
jg 0x4352d4
lea ecx, [esp + 0x180]
call fcn.0041431c
lea ecx, [esp + 0xec]
call fcn.0041431c
mov dword [esp + 0x20], 0
jmp 0x4358ad
mov dword [esp + 0x1c], 4
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x4353b4
push 0x18cc
push 0x13f
push 0x1553
push 0x1cd1
push 0xa12
call dword [sym.imp.GDI32.dll_Ellipse]
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x4353db
push 0x15e2
push 0
push 0x11fc
push 0
push 0xe0d
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov dword [esp + 0x38], 0x73ff82ff
lea ecx, [esp + 0x1c4]
push esi
call fcn.00413ed8
mov dword [esp + 0x38], 0xfffffff7
mov dword [esp + 0x1c], 0x6444696a
mov dword [esp + 0x24], 0
jmp 0x435420
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c4]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x43540a
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x38], 0
jl 0x43544b
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x435445
push 0
call dword [sym.imp.KERNEL32.dll_FindClose]
dec dword [esp + 0x38]
jns 0x435431
lea ecx, [esp + 0x1c4]
call fcn.0041431c
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x38], edi
jg 0x4357e9
mov dword [esp + 0x10], 0x37831e42
mov dword [esp + 0x1c], eax
push 8
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
pop edx
sub edx, ecx
je 0x4354ef
mov dword [esp + 0x24], 0xa715cc48
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0xffffffe3
jg 0x435608
mov dword [esp + 0x30], 0xa92bd42c
xor ebx, ebx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
mov ecx, dword [esp + 0x10]
setge bl
sub ecx, ebx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe3
jle 0x435499
jmp 0x435605
mov dword [esp + 0x18], 0x9a56718e
mov dword [esp + 0x30], 0xfffffff7
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x18], eax
je 0x43551d
mov esi, ebx
cmp dword [esp + 0x10], eax
jne 0x43551f
mov esi, eax
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp ecx, ebx
setl dl
xor ebx, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x30]
imul edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
mov ecx, dword [esp + 0x18]
setl bl
xor edx, edx
cmp ebx, ecx
setge dl
cmp edx, dword [esp + 0x18]
jge 0x4355d3
mov dword [esp + 0x10], 0xffffffff
lea ecx, [esp + 0x150]
push edi
call fcn.00413ed8
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x43558a
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x150]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jl 0x435574
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x18]
imul eax, eax, 0xfff9
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], esi
jmp 0x4355bc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x150]
cmp dword [eax + ecx*4], esi
jne 0x4355c3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x4355a8
lea ecx, [esp + 0x150]
call fcn.0041431c
xor eax, eax
jmp 0x4355eb
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], 0xac507b39
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x435605
push eax
push 0x1c80
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
xor eax, eax
xor ebx, ebx
inc ebx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x43561b
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp dword [esp + ecx*4 + 0x254], eax
jne 0x4357e6
mov dword [esp + 0x1c], 0x714ad38
xor ebx, ebx
mov dword [esp + 0x24], 0xfb2c41ac
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x30], 0xc9b9
mov dword [esp + 0x2c], edi
mov dword [esp + 0x2c], 0x2e3a4c63
mov dword [esp + 0x2c], 9
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
sub esi, ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
add edx, esi
cmp edx, ecx
setl bl
sub ebx, 0x5300ce3
mov dword [esp + 0x24], ebx
dec dword [esp + 0x2c]
mov byte [esp + 0x2b], al
mov dword [esp + 0x1c], eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4356ef
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x435708
push 0x9a5
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor eax, eax
cmp byte [esp + 0x2b], 0
je 0x4357d2
mov dword [esp + 0x18], 0xc5165352
mov dword [esp + 0x1c], 0x77ae
cmp dword [esp + 0x18], eax
jne 0x435735
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
dec ecx
jne 0x435746
cmp dword [esp + 0x18], eax
jne 0x435746
mov ecx, eax
jmp 0x435749
xor ecx, ecx
inc ecx
xor edx, edx
cmp ecx, 0xfffffffe
mov ecx, dword [esp + 0x18]
sete dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [esp + 0x18]
setl bl
xor edx, edx
neg ebx
cmp ebx, ecx
setge dl
shl edx, 3
test edx, edx
je 0x4357b5
mov byte [esp + 0x2b], al
cmp byte [esp + 0x2b], 0
je 0x435799
push 0xcb2
push 0x2036
push eax
push eax
push 0x10cd
push 0x1215
call dword [sym.imp.USER32.dll_ToUnicode]
xor eax, eax
xor ebx, ebx
inc ebx
push 0x150f
push 0x17fe
push ebx
push eax
push 0xf5f
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
jmp 0x4357d5
mov dword [esp + 0x1c], 7
xor ebx, ebx
mov dword [esp + 0x1c], eax
inc ebx
mov dword [esp + 0x1c], 8
mov dword [esp + 0x1c], ebx
jmp 0x43579c
xor ebx, ebx
inc ebx
inc dword [esp + 0x38]
push 0
pop eax
cmp dword [esp + 0x38], edi
jle 0x435467
push 2
pop esi
mov dword [esp + 0x10], 0xb72fd491
mov ecx, 0x3bf38c08
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], 0x41b4
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x10], eax
jne 0x43583b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1ac], ecx
cmp ecx, dword [esp + 0x10]
mov ecx, eax
jl 0x43583d
mov ecx, ebx
mov edx, 0x89480189
cmp edx, ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], edi
jg 0x43589c
mov ecx, 0x9c710427
mov dword [esp + 0x2c], 0xfffffffa
mov dword [esp + 0x2c], 0x8b8ae505
mov dword [esp + 0x2c], 0xfffffffd
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
dec dword [esp + 0x1c]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x43585a
mov byte [esp + 0x47], al
lea ecx, [esp + 0x47]
call fcn.00432b4c
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x435381
mov dword [esp + 0x1c], 0xfffffffe
lea ecx, [esp + 0x124]
mov dword [esp + 0x2c], 0xd45db34e
mov dword [esp + 0x30], 0x7cf2e566
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x38], 0xaafe30f5
mov dword [esp + 0x38], 0xfffffffa
push esi
call fcn.00413ed8
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x43591a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x435904
mov dword [esp + 0x10], esi
jmp 0x435937
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], 0x66e9f086
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x435927
dec dword [esp + 0x58]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x124]
add ecx, dword [eax + 4]
xor eax, eax
cmp ecx, 0x2370
mov ecx, 0xcb6d64bd
setle al
cmp ecx, eax
mov eax, dword [esp + 0x30]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, 0x62568d8d
cmp eax, edx
mov eax, dword [esp + 0x1c]
setge cl
xor edx, edx
imul ecx, ecx, 0x34e
cmp ecx, eax
lea ecx, [esp + 0x124]
setl dl
xor eax, eax
cmp esi, 0xd549
setle al
imul edx, eax
mov eax, dword [esp + 0x124]
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
call fcn.0041431c
mov dword [esp + 0x20], edi
xor eax, eax
cmp dword [esp + 0x20], eax
jl 0x4359d3
call fcn.0043318e
dec dword [esp + 0x20]
jns 0x4359c6
xor eax, eax
inc dword [esp + 0x34]
cmp dword [esp + 0x34], edi
jle 0x435105
push dword [esp + 0x5c]
lea ecx, [esp + 0x258]
mov dword [esp + 0x20], 0xfffffffe
push ecx
lea ecx, [esp + 0x24c]
mov dword [esp + 0x20], 0xd59e57ad
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x148], eax
push eax
lea ecx, [esp + 0x14c]
mov dword [esp + 0x150], eax
movdqu xmmword [esp + 0x254], xmm0
mov dword [esp + 0x154], eax
call fcn.0041519b
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], 0
jmp 0x435a5d
mov byte [esp + 0x2b], 0
cmp byte [esp + 0x2b], 0
je 0x435a59
push 0
call dword [sym.imp.USER32.dll_RegisterClassA]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x435a45
lea ecx, [esp + 0x13c]
call fcn.0041431c
mov eax, dword [esp + 0x60]
mov al, byte [eax]
cmp al, 0x30
jl 0x435c58
cmp al, 0x39
jg 0x435c58
mov dword [esp + 0x2c], 0x6df3
lea ecx, [esp + 0x1e0]
push 4
call fcn.00413ed8
mov dword [esp + 0x30], 0x40e1
lea ecx, [esp + 0x174]
mov dword [esp + 0x1c], 0xffea1e17
xor esi, esi
mov dword [esp + 0x1c], 0x58db2edf
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], 0x8c33
mov dword [esp + 0x34], 5
push edi
call fcn.00413ed8
mov dword [esp + 0x48], esi
jmp 0x435af7
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x270], 0xc59cdc34
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 4
jl 0x435ae4
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x48]
call fcn.00433711
lea edx, [esp + 0x174]
lea ecx, [esp + 0x48]
call fcn.00431876
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x1c]
neg ecx
mov edx, dword [esi + 4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
dec dword [esp + 0x1c]
cmp ecx, edx
jg 0x435b49
cmp dword [esi + 4], 0x1bb3
jg 0x435b49
xor ecx, ecx
jmp 0x435b4b
mov ecx, ebx
mov eax, dword [esp + 0x2c]
add eax, ecx
je 0x435b5e
cmp dword [esp + 0x30], 0
je 0x435b5e
mov ecx, ebx
jmp 0x435b60
xor ecx, ecx
mov eax, dword [esp + 0x2c]
sub eax, 0xfffffff8
neg eax
sbb eax, eax
add eax, 0x7cf2e567
imul eax, ecx
test eax, eax
je 0x435bbd
mov dword [esp + 0xf8], 0x618c
mov dword [esp + 0x34], 0
jmp 0x435bb5
mov dword [esp + 0x1c], 0x72a6dd75
mov byte [esp + 0x2b], 0
cmp byte [esp + 0x2b], 0
je 0x435ba5
call fcn.00433a63
lea ecx, [esp + 0xf8]
call fcn.00433d6c
inc dword [esp + 0x34]
cmp dword [esp + 0x34], edi
jle 0x435b8c
jmp 0x435bcb
lea ecx, [esp + 0x46]
mov byte [esp + 0x46], 0
call fcn.00431c60
lea ecx, [esp + 0x174]
call fcn.0041431c
lea ecx, [esp + 0x1e0]
call fcn.0041431c
xor ecx, ecx
mov dword [esp + 0x1c], 0x8261f9c2
mov byte [esp + 0x2b], cl
cmp byte [esp + 0x2b], cl
je 0x435c16
push ecx
push 0x1445
push 0x5fb
push ecx
push 0x11f3
push 0x2bd
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
xor ecx, ecx
mov byte [esp + 0x2b], cl
cmp byte [esp + 0x2b], 0
je 0x435c39
push ecx
push 0x9a0
push 0x1ef4
push 0x1686
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
xor ecx, ecx
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
imul esi, dword [edi], 0xa
movsx eax, byte [edx]
add eax, 0xffffffd0
add eax, esi
inc edx
mov dword [edi], eax
jmp 0x43477e
push 4
pop esi
mov dword [esp + 0x40], 0xd5e48d32
lea ecx, [esp + 0x18c]
push esi
call fcn.00413ed8
mov dword [esp + 0xe8], ebx
lea edx, [esp + 0x18c]
lea ecx, [esp + 0x1ec]
call fcn.00431f70
mov dword [esp + 0x40], 0xa
jmp 0x435cd5
lea eax, [esp + 0xfc]
mov dword [esp + 0xfc], 0x29694d2b
push eax
lea eax, [esp + 0xec]
mov dword [esp + 0x10c], esi
push eax
lea eax, [esp + 0x194]
push eax
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x114]
call fcn.00432136
add esp, 0xc
dec dword [esp + 0x40]
cmp dword [esp + 0x40], ebx
jge 0x435c94
mov dword [esp + 0x40], 0xffffffe9
jmp 0x435cfe
mov dword [esp + 0x54], 0xfffffff8
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], eax
call fcn.00433eeb
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 0x15
jne 0x435ce5
lea ecx, [esp + 0x18c]
call fcn.0041431c
xor esi, esi
lea eax, [esp + 0x68]
push esi
push eax
call fcn.004387b7
pop ecx
pop ecx
jmp 0x4343c8
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret