Function at 0x428be3
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], edx
mov byte [ebx], 0
mov dl, byte [esi]
push edi
mov edi, ecx
mov dword [ebp - 8], edi
cmp dl, 0x2d
jne 0x42914e
cmp byte [esi + 7], dl
jne 0x42914e
movzx edx, byte [esi + 1]
movzx ebx, byte [esi + 2]
mov eax, edx
shl eax, 8
add eax, ebx
mov ecx, 0x4c57
cmp eax, ecx
jg 0x428e7f
je 0x428e75
mov ecx, 0x4253
cmp eax, ecx
jg 0x428d4f
je 0x428d45
add ecx, 0xffffffef
cmp eax, ecx
jg 0x428cad
je 0x428ca3
sub eax, 0x4147
je 0x428c71
sub eax, 0xb
je 0x428c99
sub eax, 4
je 0x428c8f
dec eax
dec eax
je 0x428c85
dec eax
dec eax
je 0x428c7b
sub eax, 0x24
jne 0x429096
mov edi, 0x5148f4
jmp 0x4290d8
mov edi, 0x5148e4
jmp 0x4290d8
mov edi, 0x5148d4
jmp 0x4290d8
mov edi, 0x5148c4
jmp 0x4290d8
mov edi, 0x5148b4
jmp 0x4290d8
mov edi, 0x5148a0
jmp 0x4290d8
sub eax, 0x4243
je 0x428d3b
dec eax
dec eax
je 0x428d31
dec eax
je 0x428d27
dec eax
je 0x428d1d
sub eax, 8
je 0x428cda
sub eax, 3
jne 0x429096
mov edi, 0x51488c
jmp 0x4290d8
mov al, byte [esi + 4]
cmp al, 0x41
jne 0x428d05
cmp byte [esi + 5], 0x30
jne 0x428d05
movzx eax, byte [esi + 6]
sub eax, 0x3d
push eax
push 0x514860
push dword [ebp - 4]
push edi
call fcn.0049f973
add esp, 0x10
jmp 0x4294c7
movzx ecx, byte [esi + 6]
push ecx
movzx ecx, byte [esi + 5]
movzx eax, al
push ecx
push eax
push 0x514834
jmp 0x429444
mov edi, 0x51482c
jmp 0x4290d8
mov edi, 0x51481c
jmp 0x4290d8
mov edi, 0x5147fc
jmp 0x4290d8
mov edi, 0x5147e8
jmp 0x4290d8
mov edi, 0x5147d4
jmp 0x4290d8
mov ecx, 0x4654
cmp eax, ecx
jg 0x428e12
je 0x428dc4
sub eax, 0x4258
je 0x428dba
sub eax, 0xec
je 0x428db0
sub eax, 0x10
je 0x428da6
sub eax, 0xf1
je 0x428d9c
sub eax, 0xfd
je 0x428d92
sub eax, 0x11
jne 0x429096
mov edi, 0x5147b4
jmp 0x4290d8
mov edi, 0x5147a8
jmp 0x4290d8
mov edi, 0x51478c
jmp 0x4290d8
mov edi, 0x514778
jmp 0x4290d8
mov edi, 0x514754
jmp 0x4290d8
mov edi, 0x514738
jmp 0x4290d8
xor edx, edx
movzx ax, byte [esi + edx + 3]
lea ecx, [ebp + edx*2 - 0x14]
mov word [ecx], ax
cmp ax, 0x30
jb 0x428de5
cmp ax, 0x39
ja 0x428de5
add eax, 0xffffffd0
mov word [ecx], ax
inc edx
cmp edx, 4
jl 0x428dc6
movzx eax, word [ebp - 0xe]
push eax
movzx eax, word [ebp - 0x10]
push eax
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x14]
push eax
push 0x514720
push 0x514704
push dword [ebp - 4]
push edi
jmp 0x429141
sub eax, 0x4845
je 0x428e6b
sub eax, 7
je 0x428e61
dec eax
dec eax
je 0x428e57
sub eax, 0x306
je 0x428e4d
sub eax, 0xfc
je 0x428e43
sub eax, 4
jne 0x429096
mov edi, 0x5146ec
jmp 0x4290d8
mov edi, 0x5146dc
jmp 0x4290d8
mov edi, 0x5146c8
jmp 0x4290d8
mov edi, 0x5146b4
jmp 0x4290d8
mov edi, 0x5146a4
jmp 0x4290d8
mov edi, 0x514698
jmp 0x4290d8
mov edi, 0x514684
jmp 0x4290d8
mov ecx, 0x5453
cmp eax, ecx
jg 0x428f6f
je 0x428f65
mov ecx, 0x5344
cmp eax, ecx
jg 0x428f03
je 0x4290d3
sub eax, 0x4d50
je 0x428ef9
dec eax
dec eax
je 0x428eef
dec eax
dec eax
je 0x428ee5
sub eax, 0x3f0
je 0x428edb
sub eax, 0x10
je 0x428ed1
sub eax, 0x100
jne 0x429096
mov edi, 0x514670
jmp 0x4290d8
mov edi, 0x514644
jmp 0x4290d8
mov edi, 0x51462c
jmp 0x4290d8
mov edi, 0x514608
jmp 0x4290d8
mov edi, 0x5145fc
jmp 0x4290d8
mov edi, 0x5145e8
jmp 0x4290d8
sub eax, 0x5347
je 0x428f5b
sub eax, 0xc
je 0x428f51
sub eax, 7
je 0x428f47
sub eax, 0x24
je 0x428f3d
sub eax, 0xd0
je 0x428f33
sub eax, 4
jne 0x429096
mov edi, 0x5145cc
jmp 0x4290d8
mov edi, 0x5145b0
jmp 0x4290d8
mov edi, 0x514588
jmp 0x4290d8
mov edi, 0x514574
jmp 0x4290d8
mov edi, 0x51455c
jmp 0x4290d8
mov edi, 0x514544
jmp 0x4290d8
mov edi, 0x514528
jmp 0x4290d8
mov ecx, 0x5759
cmp eax, ecx
jg 0x429070
je 0x429069
sub eax, 0x5454
je 0x429062
sub eax, 0xf1
je 0x42905b
sub eax, 7
je 0x429054
dec eax
je 0x42904a
sub eax, 7
je 0x428fc2
sub eax, 0xf3
jne 0x429096
mov edi, 0x51451c
jmp 0x4290d8
mov ecx, dword [esi + 0x10]
mov eax, 0x514514
cmp ecx, dword [eax]
jne 0x428fdd
mov edx, 0x5144f0
push dword [ebp - 4]
mov ecx, edi
jmp 0x429337
movzx eax, byte [esi + 3]
movzx ecx, byte [esi + 4]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 5]
shl eax, 8
or eax, ecx
mov ecx, 0x313330
cmp eax, ecx
mov edi, 0x512e98
jl 0x429007
cmp byte [ebp + 0xc], 0
jne 0x42903a
cmp eax, 0x313332
jl 0x429020
mov ecx, esi
call fcn.00428a6e
test al, al
jne 0x42903f
mov edi, 0x5145c0
jmp 0x42903f
cmp eax, ecx
jl 0x42903f
mov ax, word [esi + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x42903f
mov edi, 0x5145a0
sub edi, 0xf0
jmp 0x4290d8
mov edi, 0x514494
jmp 0x4290d8
mov edi, 0x514480
jmp 0x4290d8
mov edi, 0x51445c
jmp 0x4290d8
mov edi, 0x514450
jmp 0x4290d8
mov edi, 0x514444
jmp 0x4290d8
sub eax, 0x584c
je 0x4290d3
sub eax, 8
je 0x4290cc
sub eax, 4
je 0x4290c5
sub eax, 0x1fc
je 0x4290be
sub eax, 0x1220
je 0x4290b7
sub eax, 0x4ce
je 0x4290b0
push ebx
push edx
push 0x514428
lea eax, [ebp - 0x3c]
push 0x14
push eax
call fcn.0049f973
add esp, 0x14
lea edi, [ebp - 0x3c]
jmp 0x4290d8
mov edi, 0x514410
jmp 0x4290d8
mov edi, 0x5143f8
jmp 0x4290d8
mov edi, 0x5143e0
jmp 0x4290d8
mov edi, 0x5143cc
jmp 0x4290d8
mov edi, 0x5143b4
jmp 0x4290d8
mov edi, 0x5143a4
xor edx, edx
movzx ax, byte [esi + edx + 3]
lea ecx, [ebp + edx*2 - 0x14]
mov word [ecx], ax
cmp ax, 0x30
jb 0x4290f8
cmp ax, 0x39
ja 0x4290f8
add eax, 0xffffffd0
jmp 0x429118
cmp ax, 0x41
jb 0x429109
cmp ax, 0x5a
ja 0x429109
add eax, 0xffffffc9
jmp 0x429118
cmp ax, 0x61
jb 0x42911b
cmp ax, 0x7a
ja 0x42911b
add eax, 0xffffff90
mov word [ecx], ax
inc edx
cmp edx, 4
jl 0x4290da
movzx eax, word [ebp - 0xe]
push eax
movzx eax, word [ebp - 0x10]
push eax
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x14]
push eax
push edi
push 0x514384
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.0049f973
add esp, 0x20
jmp 0x4294c7
mov cl, byte [esi + 4]
cmp cl, 0x2d
jne 0x4291e9
cmp byte [esi + 5], cl
jne 0x4291e9
movzx ecx, dl
mov eax, ecx
sub eax, 0x41
je 0x4291bc
sub eax, 0xe
je 0x4291b5
sub eax, 3
je 0x4291ae
dec eax
je 0x4291a7
dec eax
je 0x4291a0
dec eax
je 0x429199
push ecx
push 0x51436c
lea eax, [ebp - 0x3c]
push 0x14
push eax
call fcn.0049f973
add esp, 0x10
lea ecx, [ebp - 0x3c]
jmp 0x4291c1
mov ecx, 0x514360
jmp 0x4291c1
mov ecx, 0x514348
jmp 0x4291c1
mov ecx, 0x514338
jmp 0x4291c1
mov ecx, 0x514328
jmp 0x4291c1
mov ecx, 0x514304
jmp 0x4291c1
mov ecx, 0x5142fc
xor eax, eax
movzx dx, byte [esi + eax + 1]
mov word [ebp + eax*2 - 0x14], dx
inc eax
cmp eax, 4
jl 0x4291c3
xor eax, eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x14]
push eax
push ecx
push 0x510d14
jmp 0x4293b0
cmp dl, 0x4d
jne 0x429247
mov al, byte [esi + 2]
cmp al, 0x2d
jne 0x429247
cmp cl, al
jne 0x42921c
cmp byte [esi + 6], al
jne 0x42921c
cmp byte [esi + 7], al
jne 0x42921c
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, byte [esi + 1]
push eax
push 0x5142d4
jmp 0x429444
cmp al, 0x2d
jne 0x429247
cmp byte [esi + 5], al
jne 0x429247
cmp byte [esi + 7], al
jne 0x429247
movzx eax, byte [esi + 6]
push eax
movzx eax, cl
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, byte [esi + 1]
push eax
push 0x5142a8
jmp 0x429473
cmp dl, 0x44
jne 0x4292a4
cmp byte [esi + 1], 0x4e
jne 0x4292a4
cmp byte [esi + 2], 0x41
jne 0x4292a4
add esi, 3
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x14]
movsw word es:[edi], word [esi]
push eax
mov byte [ebp - 0xe], 0
call sub.msvcrt.dll_atoi
push 0x64
pop esi
xor edx, edx
mov ecx, eax
div esi
push edx
xor edx, edx
div esi
mov eax, ecx
mov ecx, 0x2710
push edx
xor edx, edx
div ecx
push eax
push 0x51428c
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.0049f973
add esp, 0x1c
mov byte [ebx], 1
jmp 0x4294c7
cmp dl, 0x65
jne 0x4292f1
cmp byte [esi + 1], 0x78
jne 0x4292f1
cmp byte [esi + 2], 0x62
jne 0x4292f1
cmp byte [esi + 3], 0x63
jne 0x4292f1
cmp byte [esi + 6], 0x4c
jne 0x4292d8
cmp byte [esi + 7], 0x4f
jne 0x4292d8
cmp byte [esi + 8], 0x52
jne 0x4292d8
cmp byte [esi + 9], 0x44
mov eax, 0x51427c
je 0x4292dd
mov eax, 0x5147e8
movzx edx, byte [esi + 5]
push edx
movzx ecx, cl
push ecx
push eax
push 0x514268
jmp 0x429444
mov cl, byte [esi + 2]
cmp cl, 0x42
jne 0x429341
cmp byte [esi + 3], 0x53
jne 0x429341
mov ecx, dword [esi + 0x10]
mov eax, 0x514514
cmp ecx, dword [eax]
jne 0x429315
mov edx, 0x514244
jmp 0x428fd3
push 3
add esi, 0xe
pop ecx
push dword [ebp - 4]
mov edi, 0x51423c
xor eax, eax
repe cmpsw word [esi], word es:[edi]
mov ecx, dword [ebp - 8]
mov edx, 0x514214
je 0x429337
mov edx, 0x5141f0
call fcn.00428b90
jmp 0x4294c7
mov al, byte [esi + 1]
cmp al, 0x45
jne 0x42935d
cmp cl, 0x52
jne 0x42935d
cmp byte [esi + 3], 0x53
jne 0x42935d
push 0x5141d4
jmp 0x42949a
cmp dl, 0x41
jne 0x429393
cmp al, 0x5a
jne 0x429393
cmp cl, 0x32
jne 0x429393
cmp byte [esi + 3], 0x35
jne 0x429393
cmp byte [esi + 4], 0x30
jne 0x429393
cmp byte [esi + 5], 0x30
jne 0x429393
cmp byte [esi + 6], 0x42
jne 0x429393
cmp byte [esi + 7], 0x54
jne 0x429393
push 0x5141c0
jmp 0x42949a
cmp dl, 0x42
jne 0x4293c1
cmp al, 0x4c
jne 0x4293c1
cmp cl, 0x5a
jne 0x4293c1
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
push 0x5141a0
push dword [ebp - 4]
push edi
call fcn.0049f973
add esp, 0x14
jmp 0x4294c7
cmp dl, 0x4d
jne 0x4293f1
cmp al, 0x62
jne 0x4293f1
cmp cl, 0x72
jne 0x4293f1
cmp byte [esi + 3], 0x73
jne 0x4293f1
cmp byte [esi + 4], 0x74
jne 0x4293f1
movzx eax, byte [esi + 9]
push eax
movzx eax, byte [esi + 7]
push eax
movzx eax, byte [esi + 5]
push eax
push 0x514180
jmp 0x429444
cmp dl, 0x2d
jne 0x429452
cmp al, 0x46
jne 0x429417
cmp cl, 0x47
jne 0x429417
add esi, 3
push esi
call sub.msvcrt.dll_atoi
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push 0x514160
jmp 0x429444
cmp al, 0x47
jne 0x429427
cmp cl, 0x33
jne 0x429427
push 0x514148
jmp 0x42949a
cmp al, 0x4d
jne 0x429452
cmp cl, 0x4c
jne 0x429452
movzx eax, byte [esi + 7]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 3]
push eax
push 0x514124
push dword [ebp - 4]
push edi
call fcn.0049f973
add esp, 0x18
jmp 0x4294c7
cmp dl, 0x4f
jne 0x429481
cmp al, 0x50
jne 0x429481
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
movzx eax, byte [esi + 3]
push eax
movzx eax, cl
push eax
push 0x514104
push dword [ebp - 4]
push edi
call fcn.0049f973
add esp, 0x1c
jmp 0x4294c7
cmp dl, 0x4c
jne 0x4294a8
cmp al, 0x49
jne 0x4294a8
cmp cl, 0x4d
jne 0x4294a8
cmp byte [esi + 3], 0x45
jne 0x4294a8
push 0x5140f0
push dword [ebp - 4]
push edi
call fcn.0049f973
add esp, 0xc
jmp 0x4294c7
xor eax, eax
mov word [edi + 0x28], ax
mov cl, byte [eax + esi]
test cl, cl
je 0x4294ba
movzx ecx, cl
jmp 0x4294bd
push 0x20
pop ecx
mov word [edi + eax*2], cx
inc eax
cmp eax, 0x14
jl 0x4294ae
pop edi
pop esi
pop ebx
leave
ret 0xc