Function at 0x40950a
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
or eax, 0xffffffff
push edi
mov word [ebp - 0xc], ax
xor eax, eax
push 0x64
mov word [ebp - 0xa], ax
xor edi, edi
pop eax
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00404171
mov esi, dword [ebp + 0x10]
call fcn.00409407
mov ecx, dword [ebp + 0xc]
cmp word [ecx], di
je 0x409a06
movzx eax, word [ecx + edi*2]
cmp eax, 0x20
je 0x409552
cmp eax, 9
jne 0x409555
inc edi
jmp 0x409544
movzx eax, word [ecx + edi*2]
mov dword [ebp - 8], edi
test ax, ax
je 0x409a06
mov esi, eax
mov word [ebp - 0xa], di
cmp esi, 0x30
jb 0x409575
cmp esi, 0x39
jbe 0x40957a
cmp esi, 0x2e
jne 0x4095f7
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
call fcn.00409a91
cmp al, 1
je 0x40996d
mov edi, dword [ebp - 8]
cmp esi, 0x2e
jne 0x4095f7
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e38
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x4095b9
cmp ax, 0x5a
jbe 0x4095d7
cmp ax, 0x61
jb 0x4095c5
cmp ax, 0x7a
jbe 0x4095d7
cmp ax, 0x30
jb 0x4095d1
cmp ax, 0x39
jbe 0x4095d7
cmp ax, 0x5f
jne 0x4095e3
push eax
lea eax, [ebp - 0x24]
call fcn.00403faf
inc edi
jmp 0x4095a9
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40998e
push 0x35
jmp 0x409958
push 0x41
pop ebx
cmp si, bx
jb 0x409604
cmp esi, 0x5a
jbe 0x409613
cmp esi, 0x61
jb 0x40960e
cmp esi, 0x7a
jbe 0x409613
cmp esi, 0x5f
jne 0x40963d
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 8]
call fcn.00409c6c
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40996d
push dword [ebp - 8]
push 0x138c
jmp 0x409995
mov eax, esi
cmp eax, 0x2c
jg 0x4097e0
je 0x4097d9
cmp eax, 0x27
jg 0x409771
je 0x40974d
sub eax, 0x1a
je 0x40971d
sub eax, 8
je 0x40974d
dec eax
dec eax
je 0x4096ac
dec eax
dec eax
jne 0x4099cc
push 0x4d
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40996d
push 0x56
inc edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
pop ebx
call fcn.0041237e
jmp 0x40996d
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e38
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x4096cb
cmp ax, 0x5a
jbe 0x4096e9
cmp ax, 0x61
jb 0x4096d7
cmp ax, 0x7a
jbe 0x4096e9
cmp ax, 0x30
jb 0x4096e3
cmp ax, 0x39
jbe 0x4096e9
cmp ax, 0x5f
jne 0x4096f5
push eax
lea eax, [ebp - 0x24]
call fcn.00403faf
inc edi
jmp 0x4096bb
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40998e
lea esi, [ebp - 0x24]
call fcn.00401fed
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0x33
jmp 0x409958
test edi, edi
jne 0x4099cc
mov eax, dword [ebp + 0xc]
cmp word [eax + 2], di
jne 0x4099cc
mov eax, dword [ebp + 8]
cmp eax, dword [0x491f88]
jl 0x4099cc
mov dword [ebp - 8], 1
jmp 0x409978
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 8]
lea edi, [ebp - 8]
call fcn.00409a19
lea esi, [ebp - 0x14]
test eax, eax
jne 0x4099b7
push 0x36
jmp 0x40995b
sub eax, 0x28
je 0x4097d2
dec eax
je 0x4097cb
dec eax
je 0x4097a7
dec eax
jne 0x4099cc
push 0x49
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40996d
push 0x52
jmp 0x40969a
push 0x4c
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40996d
push 0x55
jmp 0x40969a
push 0x48
jmp 0x4098cd
push 0x47
jmp 0x4098cd
push 0x40
jmp 0x4098cd
cmp eax, 0x3e
jg 0x4098b6
je 0x409897
sub eax, 0x2d
je 0x409873
dec eax
dec eax
je 0x40984f
sub eax, 0xd
je 0x40982a
dec eax
jne 0x4099cc
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
jne 0x4096a2
push 0x50
pop ebx
call fcn.0041237e
inc edi
mov dword [ebp - 8], edi
jmp 0x40996d
mov eax, dword [ebp + 0xc]
inc edi
movzx eax, word [eax + edi*2]
sub eax, 0x3d
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
je 0x40984b
dec eax
je 0x409847
push 0x43
jmp 0x4096a1
push 0x44
jmp 0x40981b
push 0x46
jmp 0x40981b
push 0x4b
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40996d
push 0x54
jmp 0x40969a
push 0x4a
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40996d
push 0x53
jmp 0x40969a
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
je 0x4098af
push 0x42
jmp 0x4096a1
push 0x45
jmp 0x40981b
sub eax, 0x40
je 0x4098f0
sub eax, 0x1b
je 0x4098ec
dec eax
dec eax
je 0x4098e8
dec eax
jne 0x4099cc
push 0x51
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov ebx, dword [ebp + 0x10]
mov edi, esi
call fcn.0040938f
inc dword [ebp - 8]
jmp 0x409978
push 0x4f
jmp 0x4098cd
push 0x4e
jmp 0x4098cd
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e38
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x40990f
cmp ax, 0x5a
jbe 0x40992d
cmp ax, 0x61
jb 0x40991b
cmp ax, 0x7a
jbe 0x40992d
cmp ax, 0x30
jb 0x409927
cmp ax, 0x39
jbe 0x40992d
cmp ax, 0x5f
jne 0x409939
push eax
lea eax, [ebp - 0x24]
call fcn.00403faf
inc edi
jmp 0x4098ff
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40998e
lea esi, [ebp - 0x24]
call fcn.00401fed
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0x32
lea esi, [ebp - 0x14]
pop ebx
call fcn.0041237e
lea eax, [ebp - 0x24]
push eax
lea esi, [ebp - 0x14]
call fcn.00412344
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040938f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
cmp word [eax + ecx*2], 0
mov edi, ecx
je 0x409a06
mov ecx, eax
jmp 0x409544
dec edi
push edi
push 0x138b
push dword [ebp + 8]
call fcn.0040830f
lea ecx, [ebp - 0x24]
call fcn.00401a04
lea ecx, [ebp - 0x14]
call fcn.0041232c
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc
push 0x7f
pop ebx
call fcn.0041237e
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040938f
jmp 0x40999d
push edi
push 0x1388
push dword [ebp + 8]
call fcn.0040830f
push 0x7f
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
xor esi, esi
inc esi
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040938f
lea ecx, [ebp - 0x24]
call fcn.00401a04
mov ecx, edi
call fcn.0041232c
mov eax, esi
jmp 0x4099b0
push 0x7f
pop ebx
lea esi, [ebp - 0x14]
call fcn.0041237e
mov word [ebp - 0xa], di
xor esi, esi
jmp 0x4099e8