Function at 0x4094c8
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.0040414e
mov esi, dword [ebp + 0x10]
call fcn.004093e4
mov ecx, dword [ebp + 0xc]
cmp word [ecx], di
je 0x4099c4
movzx eax, word [ecx + edi*2]
cmp eax, 0x20
je 0x409510
cmp eax, 9
jne 0x409513
inc edi
jmp 0x409502
movzx eax, word [ecx + edi*2]
mov dword [ebp - 8], edi
test ax, ax
je 0x4099c4
mov esi, eax
mov word [ebp - 0xa], di
cmp esi, 0x30
jb 0x409533
cmp esi, 0x39
jbe 0x409538
cmp esi, 0x2e
jne 0x4095b5
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
call fcn.00409a4f
cmp al, 1
je 0x40992b
mov edi, dword [ebp - 8]
cmp esi, 0x2e
jne 0x4095b5
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e2e
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x409577
cmp ax, 0x5a
jbe 0x409595
cmp ax, 0x61
jb 0x409583
cmp ax, 0x7a
jbe 0x409595
cmp ax, 0x30
jb 0x40958f
cmp ax, 0x39
jbe 0x409595
cmp ax, 0x5f
jne 0x4095a1
push eax
lea eax, [ebp - 0x24]
call fcn.00403f8c
inc edi
jmp 0x409567
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40994c
push 0x35
jmp 0x409916
push 0x41
pop ebx
cmp si, bx
jb 0x4095c2
cmp esi, 0x5a
jbe 0x4095d1
cmp esi, 0x61
jb 0x4095cc
cmp esi, 0x7a
jbe 0x4095d1
cmp esi, 0x5f
jne 0x4095fb
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 8]
call fcn.00409c2a
cmp dword [ebp - 0x14], 0xffffffff
jne 0x40992b
push dword [ebp - 8]
push 0x138c
jmp 0x409953
mov eax, esi
cmp eax, 0x2c
jg 0x40979e
je 0x409797
cmp eax, 0x27
jg 0x40972f
je 0x40970b
sub eax, 0x1a
je 0x4096db
sub eax, 8
je 0x40970b
dec eax
dec eax
je 0x40966a
dec eax
dec eax
jne 0x40998a
push 0x4d
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40992b
push 0x56
inc edi
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
pop ebx
call fcn.004123c2
jmp 0x40992b
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e2e
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x409689
cmp ax, 0x5a
jbe 0x4096a7
cmp ax, 0x61
jb 0x409695
cmp ax, 0x7a
jbe 0x4096a7
cmp ax, 0x30
jb 0x4096a1
cmp ax, 0x39
jbe 0x4096a7
cmp ax, 0x5f
jne 0x4096b3
push eax
lea eax, [ebp - 0x24]
call fcn.00403f8c
inc edi
jmp 0x409679
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40994c
lea esi, [ebp - 0x24]
call fcn.00401fca
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0x33
jmp 0x409916
test edi, edi
jne 0x40998a
mov eax, dword [ebp + 0xc]
cmp word [eax + 2], di
jne 0x40998a
mov eax, dword [ebp + 8]
cmp eax, dword [0x491fc8]
jl 0x40998a
mov dword [ebp - 8], 1
jmp 0x409936
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 8]
lea edi, [ebp - 8]
call fcn.004099d7
lea esi, [ebp - 0x14]
test eax, eax
jne 0x409975
push 0x36
jmp 0x409919
sub eax, 0x28
je 0x409790
dec eax
je 0x409789
dec eax
je 0x409765
dec eax
jne 0x40998a
push 0x49
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40992b
push 0x52
jmp 0x409658
push 0x4c
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40992b
push 0x55
jmp 0x409658
push 0x48
jmp 0x40988b
push 0x47
jmp 0x40988b
push 0x40
jmp 0x40988b
cmp eax, 0x3e
jg 0x409874
je 0x409855
sub eax, 0x2d
je 0x409831
dec eax
dec eax
je 0x40980d
sub eax, 0xd
je 0x4097e8
dec eax
jne 0x40998a
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
jne 0x409660
push 0x50
pop ebx
call fcn.004123c2
inc edi
mov dword [ebp - 8], edi
jmp 0x40992b
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 0x409809
dec eax
je 0x409805
push 0x43
jmp 0x40965f
push 0x44
jmp 0x4097d9
push 0x46
jmp 0x4097d9
push 0x4b
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40992b
push 0x54
jmp 0x409658
push 0x4a
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
jne 0x40992b
push 0x53
jmp 0x409658
mov eax, dword [ebp + 0xc]
inc edi
cmp word [eax + edi*2], 0x3d
mov dword [ebp - 8], edi
lea esi, [ebp - 0x14]
je 0x40986d
push 0x42
jmp 0x40965f
push 0x45
jmp 0x4097d9
sub eax, 0x40
je 0x4098ae
sub eax, 0x1b
je 0x4098aa
dec eax
dec eax
je 0x4098a6
dec eax
jne 0x40998a
push 0x51
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov ebx, dword [ebp + 0x10]
mov edi, esi
call fcn.0040936c
inc dword [ebp - 8]
jmp 0x409936
push 0x4f
jmp 0x40988b
push 0x4e
jmp 0x40988b
inc edi
lea esi, [ebp - 0x24]
mov dword [ebp - 8], edi
call fcn.00407e2e
mov esi, dword [ebp + 0xc]
movzx eax, word [esi + edi*2]
cmp ax, 0x41
jb 0x4098cd
cmp ax, 0x5a
jbe 0x4098eb
cmp ax, 0x61
jb 0x4098d9
cmp ax, 0x7a
jbe 0x4098eb
cmp ax, 0x30
jb 0x4098e5
cmp ax, 0x39
jbe 0x4098eb
cmp ax, 0x5f
jne 0x4098f7
push eax
lea eax, [ebp - 0x24]
call fcn.00403f8c
inc edi
jmp 0x4098bd
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edi
je 0x40994c
lea esi, [ebp - 0x24]
call fcn.00401fca
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.004123c2
lea eax, [ebp - 0x24]
push eax
lea esi, [ebp - 0x14]
call fcn.00412388
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040936c
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
cmp word [eax + ecx*2], 0
mov edi, ecx
je 0x4099c4
mov ecx, eax
jmp 0x409502
dec edi
push edi
push 0x138b
push dword [ebp + 8]
call fcn.00408305
lea ecx, [ebp - 0x24]
call fcn.00401a04
lea ecx, [ebp - 0x14]
call fcn.00412370
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc
push 0x7f
pop ebx
call fcn.004123c2
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040936c
jmp 0x40995b
push edi
push 0x1388
push dword [ebp + 8]
call fcn.00408305
push 0x7f
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
xor esi, esi
inc esi
mov ebx, dword [ebp + 0x10]
lea edi, [ebp - 0x14]
call fcn.0040936c
lea ecx, [ebp - 0x24]
call fcn.00401a04
mov ecx, edi
call fcn.00412370
mov eax, esi
jmp 0x40996e
push 0x7f
pop ebx
lea esi, [ebp - 0x14]
call fcn.004123c2
mov word [ebp - 0xa], di
xor esi, esi
jmp 0x4099a6