Function at 0x410bf0
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x34
push ebx
push ebp
push esi
xor eax, eax
push edi
mov ebx, ecx
mov byte [esp + 0x13], al
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov edi, 0x41ba84
mov esi, dword [edi]
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x410c38
test cl, cl
je 0x410c34
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x410c38
add eax, 2
add esi, 2
test cl, cl
jne 0x410c14
xor eax, eax
jmp 0x410c3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410d3c
add edi, 4
cmp edi, 0x41bb74
jl 0x410c10
mov ax, word [ebx + 0x20]
cmp ax, 0x13
je 0x410c70
cmp ax, 0x17
je 0x410c70
cmp ax, 0x1a
je 0x410c70
cmp ax, 0x1e
jne 0x410d3c
mov esi, dword [esp + 0x48]
mov al, byte [ebx]
mov dl, byte [esi]
cmp al, dl
jne 0x410d3c
mov al, byte [ebx + 1]
mov cl, byte [esi + 1]
cmp al, cl
jne 0x410d3c
mov ecx, 2
movsx eax, cx
mov al, byte [eax + ebx]
cmp al, 0x30
jl 0x410d3c
cmp al, 0x39
jg 0x410d3c
inc ecx
cmp cx, 4
jl 0x410c93
xor ecx, ecx
mov eax, esi
test dl, dl
je 0x410d27
mov dl, byte [eax + 1]
inc eax
inc ecx
test dl, dl
jne 0x410cb8
cmp cx, 4
jne 0x410d27
xor eax, eax
mov edx, ebx
mov word [esp + 0x15], ax
mov byte [esp + 0x48], al
mov word [esp + 0x49], ax
lea eax, [esi + 2]
sub edx, esi
mov byte [esp + 0x14], 0
lea edi, [esp + 0x48]
lea ebp, [esp + 0x14]
mov esi, 2
mov cl, byte [edx + eax]
cmp cl, 0x30
je 0x410cfc
mov byte [ebp], cl
inc ebp
mov cl, byte [eax]
cmp cl, 0x30
je 0x410d06
mov byte [edi], cl
inc edi
inc eax
dec esi
jne 0x410cf0
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
lea ecx, [esp + 0x48]
push ecx
call esi
lea edx, [esp + 0x18]
mov edi, eax
push edx
call esi
add esp, 8
cmp edi, eax
jne 0x410d3c
mov ax, word [esp + 0x4c]
test ax, ax
jne 0x410d49
mov al, byte [ebx + 4]
cmp al, 0x4d
je 0x410d5a
cmp al, 0x43
je 0x410d5a
xor ax, ax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x14
cmp ax, 1
jne 0x410d5a
mov al, byte [ebx + 4]
cmp al, 0x57
je 0x410d5a
cmp al, 0x43
jne 0x410d3c
mov al, byte [ebx + 5]
cmp al, 0x42
je 0x410d81
cmp al, 0x43
je 0x410d81
cmp al, 0x45
je 0x410d81
cmp al, 0x4e
je 0x410d81
cmp al, 0x52
je 0x410d81
cmp al, 0x55
je 0x410d81
cmp al, 0x56
je 0x410d81
cmp al, 0x54
je 0x410d81
cmp al, 0x47
jne 0x410d3c
mov al, byte [ebx + 6]
cmp al, 0x42
je 0x410dcc
cmp al, 0x43
je 0x410dcc
cmp al, 0x44
je 0x410dcc
cmp al, 0x46
je 0x410dcc
cmp al, 0x47
je 0x410dcc
cmp al, 0x4d
je 0x410dcc
cmp al, 0x4a
je 0x410dcc
cmp al, 0x4b
je 0x410dcc
cmp al, 0x4c
je 0x410dcc
cmp al, 0x4e
je 0x410dcc
cmp al, 0x50
je 0x410dcc
cmp al, 0x53
je 0x410dcc
cmp al, 0x54
je 0x410dcc
cmp al, 0x5a
je 0x410dcc
cmp al, 0x57
je 0x410dcc
cmp al, 0x58
je 0x410dcc
cmp al, 0x52
jne 0x410d3c
mov al, byte [ebx + 7]
mov dl, 0x2d
cmp al, dl
jne 0x410d3c
mov ecx, 8
movsx eax, cx
mov al, byte [eax + ebx]
cmp al, 0x30
jl 0x410d3c
cmp al, 0x39
jg 0x410d3c
inc ecx
cmp cx, 0xf
jl 0x410dde
cmp byte [ebx + 0xf], dl
jne 0x410d3c
xor ebp, ebp
mov esi, 0x10
mov dl, 0x41
movsx ecx, si
mov al, byte [ecx + ebx]
cmp al, dl
jl 0x410d3c
cmp al, 0x5a
jg 0x410d3c
cmp al, 0x49
je 0x410d3c
cmp al, 0x4f
je 0x410d3c
lea ecx, [ebp + ebp*2]
shl ecx, 3
cmp al, 0x50
jl 0x410e47
movsx eax, al
lea ebp, [ecx + eax - 0x43]
jmp 0x410e56
cmp al, 0x4a
movsx eax, al
lea ebp, [ecx + eax - 0x42]
jge 0x410e56
lea ebp, [ecx + eax - 0x41]
inc esi
cmp si, 0x13
jl 0x410e0d
mov ecx, 8
mov esi, ebx
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x24]
mov byte [esp + 0x34], dl
push ecx
mov byte [esp + 0x39], dl
mov byte [esp + 0x3a], dl
call fcn.00410b40
add esp, 4
cmp eax, ebp
jne 0x410d3c
mov al, byte [ebx + 0x13]
mov esi, 0x13
cmp al, 0x2b
mov ecx, 1
jne 0x410ed1
mov edx, 0x14
xor ecx, ecx
mov eax, edx
mov al, byte [eax + ebx]
cmp al, 0x30
jl 0x410d3c
cmp al, 0x39
jg 0x410d3c
movsx ax, al
lea ecx, [ecx + ecx*4]
inc edx
lea ecx, [eax + ecx*2 - 0x30]
movsx eax, dx
cmp eax, 0x17
jl 0x410ea5
mov esi, 0x17
movsx edx, si
lea eax, [edx + ebx]
mov dl, byte [edx + ebx]
cmp dl, 0x2a
jne 0x410fa2
movsx edx, byte [eax + 1]
movsx edi, byte [eax + 2]
lea edx, [edx + edx*4]
lea ebp, [edi + edx*2 - 0x210]
cmp ebp, 1
mov dword [esp + 0x1c], ebp
jl 0x410d3c
cmp ebp, 0xc
jg 0x410d3c
movsx edx, byte [eax + 3]
movsx edi, byte [eax + 4]
lea edx, [edx + edx*4]
lea edx, [edi + edx*2 - 0x210]
cmp edx, 1
mov dword [esp + 0x18], edx
jl 0x410d3c
cmp edx, 0x1f
jg 0x410d3c
movsx edx, byte [eax + 5]
movsx eax, byte [eax + 6]
lea edx, [edx + edx*4]
lea edi, [eax + edx*2 - 0x210]
cmp edi, 0x63
jne 0x410f51
mov edi, 0x7cf
jmp 0x410f57
add edi, 0x7d0
movsx eax, word [esp + 0x58]
lea edx, [eax + eax*2]
movsx eax, word [esp + 0x54]
lea eax, [eax + edx*4]
mov edx, eax
shl edx, 5
sub edx, eax
movsx eax, word [esp + 0x50]
add edx, eax
lea eax, [edi + edi*2]
lea eax, [ebp + eax*4]
mov ebp, eax
shl ebp, 5
sub ebp, eax
mov eax, dword [esp + 0x18]
add ebp, eax
cmp edx, ebp
jl 0x410f9b
pop edi
pop esi
pop ebp
mov ax, 2
pop ebx
add esp, 0x34
ret 0x14
add esi, 7
mov al, 1
jmp 0x410faa
mov edi, dword [esp + 0x20]
mov al, byte [esp + 0x13]
movsx edx, si
cmp byte [edx + ebx], 0
jne 0x410d3c
mov byte [ebx + 0x2a], al
mov ax, word [esp + 0x1c]
mov word [ebx + 0x26], ax
mov al, byte [ebx + 5]
mov word [ebx + 0x22], cx
mov cx, word [esp + 0x18]
cmp al, 0x75
mov word [ebx + 0x28], di
mov word [ebx + 0x24], cx
je 0x410fe8
cmp al, 0x55
mov eax, 1
jne 0x410d3f
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x34
ret 0x14