Function at 0x4025e0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x2c
push ebx
push ebp
xor eax, eax
push esi
mov esi, 1
xor ebp, ebp
cmp dword [esp + 0x3c], esi
mov ebx, esi
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], esi
jle 0x402735
test eax, eax
jne 0x40264d
mov eax, dword [edi + esi*4]
cmp byte [eax], 0x2d
jne 0x402729
cmp byte [eax + 1], 0x2d
jne 0x402648
cmp byte [eax + 2], 0
je 0x402761
mov eax, 1
mov ecx, dword [edi + esi*4]
movsx edx, byte [ecx + eax]
add ecx, eax
cmp edx, 0x78
ja case.0x402666.1
movzx edx, byte [edx + 0x402b6c]
jmp dword [edx*4 + 0x402b30]
and ebx, 0xfffffffe
add eax, 1
jmp 0x40271f
mov dword [esp + 0x30], 1
add eax, 1
jmp 0x40271f
mov dword [esp + 0x28], 1
add eax, 1
jmp 0x40271f
mov dword [esp + 0x34], 2
or ebx, 2
add eax, 1
jmp 0x40271f
mov dword [esp + 0x38], 1
add eax, 1
jmp 0x40271f
mov ebp, 0x6d
add eax, 1
jmp 0x40271f
mov ebp, 0x63
mov dword [esp + 0x28], 0
add eax, 1
jmp 0x40271f
mov ebp, 0x74
add eax, 1
jmp 0x40271f
add ecx, 1
cmp byte [ecx], 0
jne 0x4026f5
add esi, 1
cmp esi, dword [esp + 0x40]
je case.0x402666.1
mov eax, dword [edi + esi*4]
mov dword [esp + 0x1c], eax
jmp 0x40271a
mov dword [esp + 0x1c], ecx
jmp 0x40271a
add ecx, 1
cmp byte [ecx], 0
jne 0x40270f
add esi, 1
cmp esi, dword [esp + 0x40]
je case.0x402666.1
mov ecx, dword [edi + esi*4]
mov dword [esp + 0x24], ecx
jmp 0x40271a
cmp eax, 1
jle case.0x402666.1
add esi, 1
xor eax, eax
cmp esi, dword [esp + 0x40]
jl 0x402628
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x40]
cmp esi, eax
jne 0x402755
and ebx, 0xfffffffe
sub esi, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], esi
cmp esi, eax
jl 0x402794
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
add esi, 1
jmp 0x402729
mov eax, dword [edi]
push 2
call fcn.004025b0
mov eax, dword [edi]
push 0
call fcn.004025b0
mov eax, dword [edi]
call fcn.004024a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor edi, edi
cmp dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
je 0x4027b2
push 1
push eax
call dword [sym.imp.LIBEXPAT.dll_Ordinal_19]
add esp, 8
jmp 0x4027bc
push eax
call dword [sym.imp.LIBEXPAT.dll_Ordinal_18]
add esp, 4
cmp dword [esp + 0x30], edi
mov ebx, eax
je 0x4027d3
push 0x402490
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_41]
add esp, 8
mov edx, dword [esp + 0x34]
push edx
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_43]
add esp, 8
cmp ebp, 0x74
jne 0x40281c
push 0x401d30
push 0x401d20
push ebx
mov dword [esp + 0x28], edi
call dword [sym.imp.LIBEXPAT.dll_Ordinal_31]
push 0x401d10
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_25]
push 0x401d40
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_44]
add esp, 0x1c
jmp 0x402a7c
cmp dword [esp + 0x1c], edi
je 0x402a7c
cmp dword [esp + 0x2c], 0
je 0x402834
mov ebp, str.STDIN
jmp 0x40283f
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov ebp, dword [eax + ecx*4]
push 0x2f
push ebp
call fcn.004034b0
add esp, 8
test eax, eax
je 0x40285e
push 0x2f
push ebp
call fcn.004034b0
add esp, 8
add eax, 1
mov ebp, eax
push 0x5c
push ebp
call fcn.004034b0
add esp, 8
test eax, eax
je 0x40287d
push 0x5c
push ebp
call fcn.004034b0
add esp, 8
add eax, 1
mov ebp, eax
mov edi, dword [esp + 0x1c]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402886
sub eax, edx
mov edx, eax
mov eax, ebp
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402898
sub eax, esi
lea edx, [eax + edx + 2]
push edx
call fcn.004035a1
mov edx, eax
add esp, 4
mov dword [esp + 0x20], edx
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4028c0
mov edx, dword [esp + 0x20]
mov edi, edx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x4028d5
mov ax, word [0x41c614]
mov word [edi], ax
mov eax, ebp
mov esi, ebp
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4028f0
mov edi, edx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402900
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x20]
push 0x41c610
push esi
call fcn.004046cd
mov edi, eax
add esp, 8
test edi, edi
je 0x402b20
push 0x4000
push 0
push 0
push edi
call fcn.0040450b
push edi
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_52]
mov eax, dword [esp + 0x2c]
add esp, 0x18
cmp eax, 0x63
je 0x402a3d
cmp eax, 0x6d
je 0x4029a7
cmp dword [esp + 0x28], 0
je 0x402973
push 0x401c10
push 0x401ae0
jmp 0x40297d
push 0x401a40
push 0x4019b0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_31]
add esp, 0xc
push fcn.00401780
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_25]
push 0x401c80
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_44]
add esp, 0x10
jmp 0x402a7c
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_54]
push 0x401f10
push 0x401e20
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_31]
push 0x401f40
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_44]
push 0x401fa0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_26]
push 0x402030
push 0x402000
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_24]
push 0x402060
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_25]
push 0x4020e0
push 0x4020b0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_29]
add esp, 0x40
push 0x4021a0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_37]
push 0x402110
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_42]
push 0x402380
push 0x402300
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_40]
add esp, 0x1c
mov eax, ebx
call fcn.00401de0
jmp 0x402a7c
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_54]
push 0x401d50
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_27]
push 0x401cf0
push 0x401ce0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_31]
push 0x401cd0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_25]
push 0x401d00
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_44]
add esp, 0x28
cmp dword [esp + 0x38], 0
je 0x402a94
push 0
push 0x4023c0
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_50]
add esp, 0xc
cmp dword [esp + 0x2c], 0
je 0x402a9f
xor eax, eax
jmp 0x402aaa
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x18]
push ecx
push eax
push ebx
call fcn.004016d0
add esp, 0xc
cmp dword [esp + 0x1c], 0
mov esi, eax
je 0x402af7
cmp dword [esp + 0x14], 0x6d
jne 0x402ad0
mov eax, ebx
call fcn.00401e00
push edi
call fcn.0040448f
add esp, 4
test esi, esi
jne 0x402aea
mov edx, dword [esp + 0x20]
push edx
call fcn.004043ee
add esp, 4
mov eax, dword [esp + 0x20]
push eax
call fcn.00403664
add esp, 4
push ebx
call dword [sym.imp.LIBEXPAT.dll_Ordinal_21]
mov eax, dword [esp + 0x14]
add eax, 1
add esp, 4
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
jl 0x402790
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
push esi
call fcn.00403715
add esp, 4
push 1
call fcn.00403b55
adc eax, 0xbf004027
inc eax
add bl, bl
inc eax
add bl, bh
inc eax
add byte [edi + 0x27], ch
inc eax
add byte [ebp - 0x77ffbfda], dh
inc eax
add byte [eax + 0x6d004026], bl
inc eax
add byte [eax + 0x26], bh
inc eax
add cl, dl
inc eax
add byte [eax + 0x27], bh
inc eax
add byte [eax - 0x5fffbfda], ch
inc eax
add byte [esi + 0x27], ah
inc eax
add byte [eax], al
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
add dword [edx], eax
add ecx, dword [esi]
push cs
add al, 14
push cs
push cs
push cs
add eax, 235343366
or byte [ecx], cl
or cl, byte [esi]
or ecx, dword [ecx + 2490316]
rol byte [ecx], 255
and eax, sym.imp.KERNEL32.dll_GetCPInfo
jmp dword [sym.imp.KERNEL32.dll_LocalFree]