Function at 0x418ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa4
mov eax, dword [0x4353ac]
lea ebp, [esp + 0x80]
xor eax, esp
mov dword [esp + 0xa0], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
lea eax, [ecx + 0x40]
mov dword [esp + 0x68], eax
lea eax, [ecx + 0x3c]
mov dword [esp + 0x64], eax
lea eax, [ecx + 0x38]
mov dword [esp + 0x60], eax
lea eax, [ecx + 0x4c]
mov ecx, 0xd9003aa7
mov dword [esp + 0x5c], eax
nop word cs:[eax + eax]
nop
cmp ecx, 0x821b8d1
jg 0x418b90
cmp ecx, 0xbf789c54
jg 0x418c20
cmp ecx, 0xa7d37903
jg 0x418ce2
cmp ecx, 0x97e1a692
jle 0x418e1b
cmp ecx, 0xa45c4acd
je 0x41967a
cmp ecx, 0x97e1a693
je 0x419068
cmp ecx, 0x9b394ef9
jne 0x418b10
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x2c]
mov edx, dword [edx]
add edx, dword [ecx]
mov ecx, 0xa7d37904
cmp dword [eax], edx
mov eax, 0x81ffdf5
cmovb ecx, eax
jmp 0x418b10
cmp ecx, 0x380fdbab
jg 0x418c80
cmp ecx, 0x21c73232
jg 0x418d2b
cmp ecx, 0xe0b801f
jg 0x418e6d
cmp ecx, 0x821b8d2
je 0x419130
cmp ecx, 0xb5c517c
je 0x41916b
cmp ecx, 0xc25bf78
jne 0x418b10
mov eax, dword [esp + 0x5c]
mov edi, 0xd822d76e
mov esi, 0x4791a8c3
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp dword [eax], 0
mov eax, dword [0x435620]
lea ecx, [eax - 1]
setne byte [esp]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x4791a8c3
jmp 0x418db7
cmp ecx, 0xd8283b97
jg 0x418d65
cmp ecx, 0xd729dbcf
jg 0x418ea7
cmp ecx, 0xbf789c55
je 0x41918b
cmp ecx, 0xca702e89
je 0x4191ba
cmp ecx, 0xcb1b74f8
jne 0x418b10
mov eax, dword [esp + 0x24]
mov ecx, 0x282b051d
mov dword [esp + 0x4c], eax
mov eax, 0xbf789c55
cmp dword [esp + 0x4c], 0
cmovg ecx, eax
jmp 0x418b10
cmp ecx, 0x4d4a58dd
jg 0x418dd4
cmp ecx, 0x45465e6d
jg 0x418ee1
cmp ecx, 0x380fdbac
je 0x4191d4
cmp ecx, 0x3c92d881
je 0x419670
cmp ecx, 0x451bc0b2
jne 0x418b10
mov eax, dword [0x435620]
mov edi, 0x91548b9d
mov esi, 0x20688528
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x20688528
jmp 0x418db7
cmp ecx, 0xb77e1493
jg 0x418f0f
cmp ecx, 0xa7d37904
je 0x4191de
cmp ecx, 0xa8e60b7e
je 0x419220
cmp ecx, 0xb1830ccd
jne 0x418b10
mov eax, dword [esp + 0x18]
mov ecx, 0x2cc830ad
mov edx, 0x2ee498e9
cmp eax, 3
cmovl ecx, edx
jmp 0x418b10
cmp ecx, 0x2cc830ac
jg 0x418f4a
cmp ecx, 0x21c73233
je 0x41923e
cmp ecx, 0x21de1a76
je 0x419263
cmp ecx, 0x282b051d
jne 0x418b10
movzx eax, byte [esp + 0x7f]
jmp 0x41924d
cmp ecx, 0xe72730f0
jg 0x418f80
cmp ecx, 0xd8283b98
je 0x4192b4
cmp ecx, 0xd9003aa7
je 0x41932c
cmp ecx, 0xde865696
jne 0x418b10
mov eax, dword [0x435620]
mov edi, 0xd729dbd0
mov esi, 0xb5c517c
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb5c517c
sete al
cmove ecx, edi
cmp dword [0x435624], 0xa
setl dl
cmovge ecx, esi
xor dl, al
cmovne ecx, edi
jmp 0x418b10
cmp ecx, 0x64d9bb4b
jg 0x418fc8
cmp ecx, 0x4d4a58de
je 0x419343
cmp ecx, 0x58a21335
je 0x41938d
cmp ecx, 0x628475f3
jne 0x418b10
cmp byte [esp + 1], 0
mov ecx, 0x2fb76298
mov eax, 0x64d9bb4c
cmovne ecx, eax
jmp 0x418b10
cmp ecx, 0x8a573eb6
je 0x4193a7
cmp ecx, 0x8dc85f42
je 0x4193be
cmp ecx, 0x91548b9d
jne 0x418b10
lea ecx, [esp + 0x88]
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x3c]
call fcn.00411340
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov edi, 0x20688528
mov esi, 0x3c92d881
jmp 0x4191f3
cmp ecx, 0xe0b8020
je 0x4193d0
cmp ecx, 0xfe8e74a
je 0x4193f8
cmp ecx, 0x20688528
jne 0x418b10
lea ecx, [esp + 0x88]
call fcn.00411340
mov ecx, 0x91548b9d
jmp 0x418b10
cmp ecx, 0xd729dbd0
je 0x419444
cmp ecx, 0xd7807ec5
je 0x419485
cmp ecx, 0xd822d76e
jne 0x418b10
cmp byte [esp], 0
mov ecx, 0x49ec20c
mov eax, 0x79876572
cmovne ecx, eax
jmp 0x418b10
cmp ecx, 0x45465e6e
je 0x419497
cmp ecx, 0x4734be57
je 0x4194a1
cmp ecx, 0x4791a8c3
jne 0x418b10
mov ecx, 0xc25bf78
jmp 0x418b10
cmp ecx, 0xb77e1494
je 0x4194ab
cmp ecx, 0xbeff6b80
je 0x4194c4
cmp ecx, 0xbf4748e9
jne 0x418b10
cmp byte [esp + 3], 0
mov ecx, 0x821b8d2
mov eax, 0xe0b8020
cmovne ecx, eax
jmp 0x418b10
cmp ecx, 0x2cc830ad
je 0x419508
cmp ecx, 0x2ee498e9
je 0x419521
cmp ecx, 0x2fb76298
jne 0x418b10
mov ecx, 0xd7807ec5
mov dword [esp + 0x28], 0xffffffff
jmp 0x418b10
cmp ecx, 0xe72730f1
je 0x41953a
cmp ecx, 0x49ec20c
je 0x419565
cmp ecx, 0x81ffdf5
jne 0x418b10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
dec dword [ecx]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [ecx]
mov ecx, 0xa45c4acd
mov dword [esp + 0x10], eax
jmp 0x418b10
cmp ecx, 0x64d9bb4c
je 0x4195a3
cmp ecx, 0x699f634d
je 0x4195b9
cmp ecx, 0x79876572
jne 0x418b10
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov eax, 0x5273325f
nop
cmp eax, 0xe88a80b7
je 0x419042
cmp eax, 0x390ed961
je 0x41962a
cmp eax, 0x5273325f
jne 0x419010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, 0xe88a80b7
cmp ecx, eax
mov eax, 0x390ed961
cmove eax, edx
jmp 0x419010
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov edx, dword [esp + 0x54]
mov edi, dword [edx + 0xc]
sub ecx, eax
mov dword [edi], eax
mov edi, dword [edx + 0x1c]
mov dword [edi], eax
mov eax, dword [edx + 0x2c]
mov dword [eax], ecx
mov eax, 0x390ed961
jmp 0x419010
lea ecx, [esp + 0x88]
call fcn.00423120
mov eax, dword [0x435458]
mov ecx, dword [0x43545c]
mov edi, 0x5a0ef92f
mov esi, 0x659db1cb
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne edi, esi
test eax, edx
mov eax, edi
sete byte [esp + 0x1c]
cmove eax, esi
cmp ecx, 0xa
mov ecx, 0x16864e19
cmovge eax, edi
setl byte [esp + 0x20]
cmp ecx, 0x5a0ef92e
jg 0x419110
cmp ecx, 0xaca43792
je 0x419125
cmp ecx, 0x16864e19
jne 0x4190c0
movzx edx, byte [esp + 0x1c]
movzx ecx, byte [esp + 0x20]
mov edi, 0xaca43792
mov esi, 0x5a0ef92f
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x5a0ef92f
cmovne ecx, edi
test dl, dl
cmove ecx, esi
test dh, dh
cmovne ecx, edi
jmp 0x4190c0
cmp ecx, 0x5a0ef92f
je 0x419129
cmp ecx, 0x659db1cb
jne 0x4190c0
jmp 0x41964b
mov ecx, eax
jmp 0x4190c0
mov ecx, 0xaca43792
jmp 0x4190c0
mov edi, dword [esp + 0x80]
lea esi, [esp + 0x88]
mov ecx, esi
call fcn.0041fb70
sub edi, eax
mov ecx, esi
push edi
push 0
call fcn.0041cf80
mov dword [esp + 8], 0
mov ecx, 0xa8e60b7e
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
jmp 0x418b10
mov eax, dword [esp + 4]
push dword [eax]
lea eax, [esp + 0x8b]
push eax
call fcn.0041c940
add esp, 8
mov ecx, 0xd729dbd0
jmp 0x418b10
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x4c]
movsx ecx, byte [edx + ecx - 1]
dec edx
mov dword [esp + 0x24], edx
push dword [eax]
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ungetc]
add esp, 8
mov ecx, 0xcb1b74f8
jmp 0x418b10
mov ecx, 0xe72730f1
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x30], 1
jmp 0x418b10
mov ecx, 0x58a21335
jmp 0x418b10
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov edi, 0x4791a8c3
mov esi, 0xc25bf78
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
cmovne edi, esi
test eax, ecx
mov ecx, edi
cmove ecx, esi
cmp edx, 0xa
cmovge ecx, edi
jmp 0x418b10
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, 0xe72730f1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jmp 0x418b10
lea ecx, [esp + 0x88]
call fcn.0041d100
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov ecx, 0xa8e60b7e
mov dword [esp + 8], 1
jmp 0x418b10
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov esi, 0xbf4748e9
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x45465e6e
cmovne eax, esi
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, esi
cmp edx, 0xa
lea edx, [esp + 0x7f]
cmovge ecx, eax
cmp dword [esp + 0x78], edx
setne byte [esp + 3]
jmp 0x418b10
mov eax, dword [esp + 0x44]
lea esi, [esp + 0x88]
mov ecx, esi
movsx eax, al
push eax
call fcn.0041cba0
lea eax, [esp + 0x78]
mov ebx, ebp
mov ecx, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov ebp, dword [eax]
call fcn.0041fb70
mov edi, eax
mov ecx, esi
add edi, dword [esp + 0x98]
call fcn.0041fb70
mov edx, dword [ebp]
mov ecx, ebp
mov ebp, ebx
lea esi, [esp + 0x78]
push esi
push ebx
lea esi, [esp + 0x87]
push esi
lea esi, [esp + 0x8c]
push esi
push edi
push eax
push dword [esp + 0x80]
call dword [edx + 0x18]
mov dword [esp + 0x18], eax
mov ecx, 0xb1830ccd
jmp 0x418b10
cmp dword [esp + 0x6c], 0
mov ecx, 0x9b394ef9
mov eax, 0xa7d37904
cmove ecx, eax
jmp 0x418b10
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov edi, 0x4734be57
mov esi, 0x8dc85f42
mov dword [esp + 0x70], 0xffffffff
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
cmovne edi, esi
test eax, ecx
mov ecx, edi
cmove ecx, esi
cmp edx, 0xa
cmovge ecx, edi
jmp 0x418b10
mov ecx, 0xa8e60b7e
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 1
jmp 0x418b10
cmp byte [esp + 2], 0
mov ecx, 0xd8283b98
mov eax, 0xca702e89
cmovne ecx, eax
jmp 0x418b10
mov eax, dword [esp + 0x70]
mov ecx, 0xa45c4acd
mov dword [esp + 0x10], eax
jmp 0x418b10
lea ecx, [esp + 0x88]
call fcn.0041fb70
add eax, dword [esp + 0x98]
mov ecx, 0xcb1b74f8
sub eax, dword [esp + 0x80]
mov dword [esp + 0x24], eax
jmp 0x418b10
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov esi, 0x699f634d
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0xb77e1494
cmovne eax, esi
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, esi
mov esi, dword [esp + 0x58]
cmp edx, 0xa
cmovge ecx, eax
mov dword [esp + 0x74], esi
jmp 0x418b10
mov eax, dword [esp + 4]
push dword [eax]
lea eax, [esp + 0x8b]
push eax
call fcn.0041c940
add esp, 8
mov byte [esp + 1], al
mov eax, dword [0x435620]
mov esi, 0x628475f3
mov edi, 0xb5c517c
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb5c517c
jmp 0x419586
mov eax, dword [esp + 0x28]
mov ecx, 0xa45c4acd
mov dword [esp + 0x10], eax
jmp 0x418b10
mov ecx, 0x21de1a76
jmp 0x418b10
mov ecx, 0x4d4a58de
jmp 0x418b10
mov eax, dword [esp + 4]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetc]
add esp, 4
mov ecx, 0x699f634d
jmp 0x418b10
mov eax, dword [0x435620]
mov edx, dword [0x435624]
mov esi, 0x21de1a76
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x45465e6e
cmovne eax, esi
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, esi
cmp edx, 0xa
cmovge ecx, eax
jmp 0x418b10
mov eax, dword [esp + 0x18]
mov ecx, 0x380fdbac
mov edx, 0x21c73233
cmp eax, 3
cmove ecx, edx
jmp 0x418b10
mov eax, dword [esp + 0x18]
mov ecx, 0x380fdbac
mov edx, 0xbeff6b80
cmp eax, 2
cmovb ecx, edx
jmp 0x418b10
mov eax, dword [esp + 0x2c]
mov ecx, 0x97e1a693
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x50]
mov eax, 0xfe8e74a
cmove ecx, eax
mov dword [esp + 0x58], edx
jmp 0x418b10
mov eax, dword [0x435620]
mov esi, 0x4d4a58de
mov edi, 0x4734be57
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x4734be57
sete al
cmove ecx, esi
cmp dword [0x435624], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, esi
jmp 0x418b10
movzx eax, byte [esp + 0x87]
mov ecx, 0xd7807ec5
mov dword [esp + 0x28], eax
jmp 0x418b10
lea eax, [esp + 0x80]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 4]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetc]
add esp, 4
mov ecx, dword [0x435620]
mov edx, dword [0x435624]
mov dword [esp + 0x44], eax
mov esi, 0x8a573eb6
mov eax, dword [esp + 0x44]
lea edi, [ecx - 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xb77e1494
cmovne ebx, esi
test ecx, edi
mov ecx, ebx
cmove ecx, esi
cmp edx, 0xa
cmovge ecx, ebx
cmp eax, 0xffffffff
sete byte [esp + 2]
jmp 0x418b10
mov eax, dword [esp + 0x60]
mov ecx, 0x451bc0b2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
cmp dword [eax], 0
mov eax, 0xde865696
cmove ecx, eax
jmp 0x418b10
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov ecx, 0xa45c4acd
mov dword [esp + 0x10], eax
jmp 0x418b10
mov ecx, 0xfe8e74a
jmp 0x418b05
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.0043082b
mov eax, dword [esp + 0x10]
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret