Function at 0x4278cc
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
nop
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
jmp 0x4278f7
cmp eax, 0x20
jne 0x427905
jmp 0x42790e
cmp eax, 9
jne 0x42792c
mov eax, dword [ebp - 8]
mov dword [0x42fb20], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x429016
cmp eax, 0xc
jne 0x42793a
jmp 0x427943
cmp eax, 0xb
jne 0x427948
jmp 0x427951
cmp eax, 0xd
jne 0x427963
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x4278e1
cmp eax, 0x5c
jne 0x427b53
mov eax, dword [0x42fb18]
add eax, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
cmp ecx, edx
jb 0x4279c7
mov eax, dword [0x42fb18]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
call fcn.00405139
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [0x42fb18]
add eax, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
cmp ecx, edx
jb 0x4279bd
jmp 0x4279f3
jmp 0x4278e1
mov eax, dword [0x42fb18]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [0x42fb1c], ecx
call fcn.00405201
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jmp 0x4278e1
mov eax, dword [0x43a824]
mov dword [ebp - 0x20], eax
mov eax, dword [0x42fb70]
and eax, 4
test eax, eax
je 0x427a47
mov eax, dword [0x42fb48]
and eax, 8
test eax, eax
je 0x427a23
jmp 0x427a47
mov eax, dword [0x42fb48]
or eax, 8
mov dword [0x42fb48], eax
mov eax, 0xa
mov dword [0x42fb20], eax
jmp 0x429016
mov eax, dword [ebp - 0x20]
add eax, 4
mov ecx, dword [ebp - 0x20]
add ecx, 0x108
mov edx, dword [eax]
cmp edx, ecx
je 0x427a76
mov eax, dword [0x42fb70]
and eax, 1
test eax, eax
je 0x427a76
jmp 0x427a86
mov eax, 0xffffffff
mov dword [0x42fb20], eax
jmp 0x427b49
mov eax, dword [0x42fb48]
and eax, 0xfffffff7
mov dword [0x42fb48], eax
mov eax, dword [0x42fb48]
and eax, 4
test eax, eax
je 0x427adb
mov eax, dword [0x42fb18]
add eax, 0x1c
mov ecx, dword [0x42fb18]
add ecx, 0x1d
mov edx, dword [0x42fb18]
add edx, 0x14
mov dword [ebp - 0x24], eax
mov eax, dword [edx]
push eax
push ecx
mov eax, dword [ebp - 0x24]
movsx eax, byte [eax]
push eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.00429023
add esp, 0x10
mov eax, dword [0x43a824]
add eax, 0xa8
mov ecx, dword [eax]
test ecx, ecx
je 0x427b0b
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0xa2
push eax
call fcn.0041c772
add esp, 0xc
mov eax, dword [0x42fb18]
push eax
call fcn.004048bf
add esp, 4
mov eax, dword [ebp - 0x20]
add eax, 4
mov ecx, dword [eax]
mov edx, ecx
add ecx, 0xfffffffc
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
add eax, 4
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [0x42fb18], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jmp 0x4278e1
jmp 0x42900b
cmp eax, 0xa
jne 0x427bb8
mov eax, dword [0x42fb18]
add eax, 0xc
mov ecx, dword [eax]
mov edx, ecx
add ecx, 1
mov dword [eax], ecx
mov eax, dword [0x42fb48]
or eax, 1
mov dword [0x42fb48], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [0x42fb70]
and eax, 4
mov ecx, 0
cmp ecx, eax
jne 0x427ba3
jmp 0x4278e1
mov eax, 0xa
mov dword [0x42fb20], eax
jmp 0x429016
cmp eax, 0x23
jne 0x427cb8
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x427bfb
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [0x42fb48]
and eax, 1
test eax, eax
je 0x427c4f
mov eax, dword [0x42fb70]
and eax, 1
test eax, eax
je 0x427c4f
mov eax, dword [0x42fb18]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, dword [0x42fb48]
and eax, 2
push eax
call fcn.00406c32
add esp, 4
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jmp 0x4278e1
mov eax, dword [ebp - 8]
cmp eax, 0x23
jne 0x427c76
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xb6
mov dword [0x42fb20], eax
jmp 0x427cae
mov eax, dword [0x42fb70]
and eax, 8
test eax, eax
je 0x427ca3
mov eax, dword [ebp - 0x14]
sub eax, 1
push eax
call fcn.004052db
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x4278e1
mov eax, 0x23
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x61
jne 0x427cc6
jmp 0x427ccf
cmp eax, 0x62
jne 0x427cd4
jmp 0x427cdd
cmp eax, 0x63
jne 0x427ce2
jmp 0x427ceb
cmp eax, 0x64
jne 0x427cf0
jmp 0x427cf9
cmp eax, 0x65
jne 0x427cfe
jmp 0x427d07
cmp eax, 0x66
jne 0x427d0c
jmp 0x427d15
cmp eax, 0x67
jne 0x427d1a
jmp 0x427d23
cmp eax, 0x68
jne 0x427d28
jmp 0x427d31
cmp eax, 0x69
jne 0x427d36
jmp 0x427d3f
cmp eax, 0x6a
jne 0x427d44
jmp 0x427d4d
cmp eax, 0x6b
jne 0x427d52
jmp 0x427d5b
cmp eax, 0x6c
jne 0x427d60
jmp 0x427d69
cmp eax, 0x6d
jne 0x427d6e
jmp 0x427d77
cmp eax, 0x6e
jne 0x427d7c
jmp 0x427d85
cmp eax, 0x6f
jne 0x427d8a
jmp 0x427d93
cmp eax, 0x70
jne 0x427d98
jmp 0x427da1
cmp eax, 0x71
jne 0x427da6
jmp 0x427daf
cmp eax, 0x72
jne 0x427db4
jmp 0x427dbd
cmp eax, 0x73
jne 0x427dc2
jmp 0x427dcb
cmp eax, 0x74
jne 0x427dd0
jmp 0x427dd9
cmp eax, 0x75
jne 0x427dde
jmp 0x427de7
cmp eax, 0x76
jne 0x427dec
jmp 0x427df5
cmp eax, 0x77
jne 0x427dfa
jmp 0x427e03
cmp eax, 0x78
jne 0x427e08
jmp 0x427e11
cmp eax, 0x79
jne 0x427e16
jmp 0x427e1f
cmp eax, 0x7a
jne 0x427e24
jmp 0x427e2d
cmp eax, 0x41
jne 0x427e32
jmp 0x427e3b
cmp eax, 0x42
jne 0x427e40
jmp 0x427e49
cmp eax, 0x43
jne 0x427e4e
jmp 0x427e57
cmp eax, 0x44
jne 0x427e5c
jmp 0x427e65
cmp eax, 0x45
jne 0x427e6a
jmp 0x427e73
cmp eax, 0x46
jne 0x427e78
jmp 0x427e81
cmp eax, 0x47
jne 0x427e86
jmp 0x427e8f
cmp eax, 0x48
jne 0x427e94
jmp 0x427e9d
cmp eax, 0x49
jne 0x427ea2
jmp 0x427eab
cmp eax, 0x4a
jne 0x427eb0
jmp 0x427eb9
cmp eax, 0x4b
jne 0x427ebe
jmp 0x427ec7
cmp eax, 0x4d
jne 0x427ecc
jmp 0x427ed5
cmp eax, 0x4e
jne 0x427eda
jmp 0x427ee3
cmp eax, 0x4f
jne 0x427ee8
jmp 0x427ef1
cmp eax, 0x50
jne 0x427ef6
jmp 0x427eff
cmp eax, 0x51
jne 0x427f04
jmp 0x427f0d
cmp eax, 0x52
jne 0x427f12
jmp 0x427f1b
cmp eax, 0x53
jne 0x427f20
jmp 0x427f29
cmp eax, 0x54
jne 0x427f2e
jmp 0x427f37
cmp eax, 0x55
jne 0x427f3c
jmp 0x427f45
cmp eax, 0x56
jne 0x427f4a
jmp 0x427f53
cmp eax, 0x57
jne 0x427f58
jmp 0x427f61
cmp eax, 0x58
jne 0x427f66
jmp 0x427f6f
cmp eax, 0x59
jne 0x427f74
jmp 0x427f7d
cmp eax, 0x5a
jne 0x427f82
jmp 0x427f8b
cmp eax, 0x5f
jne 0x4281cc
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, 0x107
imul eax, ecx
mov ecx, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
sub eax, 0xffffffff
mov ecx, 0x43a834
add ecx, eax
movzx eax, byte [ecx]
test eax, eax
je 0x427fdd
jmp 0x427fe2
jmp 0x428002
mov eax, dword [ebp - 0x1c]
mov ecx, 0x107
imul eax, ecx
mov ecx, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x427fb7
mov eax, dword [ebp - 8]
cmp eax, 0x5c
je 0x4280b2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
and eax, 0x1fff
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
mov ecx, 0x42fbdc
add ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x42804d
jmp 0x428052
jmp 0x428096
mov eax, dword [ebp - 0x10]
add eax, 0x18
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
jne 0x42808e
mov eax, dword [ebp - 0x10]
add eax, 0x1c
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x18]
push ecx
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x428089
jmp 0x42808e
jmp 0x4280ad
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
jmp 0x428035
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x28]
push eax
call fcn.004048fe
add esp, 0xc
mov dword [ebp - 0x10], eax
jmp 0x4281b4
mov eax, 0x42fb38
push eax
call fcn.004042fb
add esp, 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x4280f0
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
push ecx
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x4280c0
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 0xffffffff
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428135
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
sub eax, 0xffffffff
mov ecx, 0x43a834
add ecx, eax
movzx eax, byte [ecx]
test eax, eax
je 0x42819b
mov eax, dword [ebp - 8]
push eax
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428199
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jmp 0x428135
mov eax, dword [0x42fb38]
push eax
mov eax, dword [0x42fb3c]
push eax
call fcn.00404a53
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, 0x14
mov ecx, dword [eax]
mov dword [0x42fb20], ecx
jmp 0x42900b
cmp eax, 0x4c
jne 0x4282a9
mov eax, dword [ebp - 0x14]
add eax, 1
movzx ecx, byte [eax]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, 0x5c
je 0x42820f
mov eax, dword [ebp - 4]
cmp eax, 0x27
je 0x42820f
mov eax, dword [ebp - 4]
cmp eax, 0x22
je 0x42820f
jmp 0x427f8b
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428249
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x27
je 0x428266
mov eax, dword [ebp - 8]
cmp eax, 0x22
je 0x428266
jmp 0x428278
mov eax, 1
mov dword [ebp - 0xc], eax
jmp 0x4285c4
mov eax, 0x42fb38
push eax
call fcn.004042fb
add esp, 4
mov eax, 0x4c
push eax
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
jmp 0x428135
cmp eax, 0x30
jne 0x4282b7
jmp 0x4282c0
cmp eax, 0x31
jne 0x4282c5
jmp 0x4282ce
cmp eax, 0x32
jne 0x4282d3
jmp 0x4282dc
cmp eax, 0x33
jne 0x4282e1
jmp 0x4282ea
cmp eax, 0x34
jne 0x4282ef
jmp 0x4282f8
cmp eax, 0x35
jne 0x4282fd
jmp 0x428306
cmp eax, 0x36
jne 0x42830b
jmp 0x428314
cmp eax, 0x37
jne 0x428319
jmp 0x428322
cmp eax, 0x38
jne 0x428327
jmp 0x428330
cmp eax, 0x39
jne 0x428463
mov eax, 0x42fb38
push eax
call fcn.004042fb
add esp, 4
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
push eax
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428390
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
push eax
call fcn.0042957a
add esp, 4
test eax, eax
jne 0x428420
mov eax, dword [ebp - 8]
push eax
call fcn.004295af
add esp, 4
test eax, eax
jne 0x428420
mov eax, dword [ebp - 8]
cmp eax, 0x2e
je 0x428420
mov eax, dword [ebp - 8]
cmp eax, 0x2b
je 0x4283e1
mov eax, dword [ebp - 8]
cmp eax, 0x2d
je 0x4283e1
jmp 0x42841b
mov eax, dword [ebp - 4]
cmp eax, 0x65
je 0x428416
mov eax, dword [ebp - 4]
cmp eax, 0x45
je 0x428416
mov eax, dword [ebp - 4]
cmp eax, 0x70
je 0x428416
mov eax, dword [ebp - 4]
cmp eax, 0x50
je 0x428416
jmp 0x42841b
jmp 0x428420
jmp 0x428425
jmp 0x42842a
jmp 0x42842f
jmp 0x42833e
mov eax, 0
push eax
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
mov eax, 0x42fb38
mov dword [0x42fb28], eax
mov eax, 0xce
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x2e
jne 0x4285a5
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x4284a6
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
push eax
call fcn.0042957a
add esp, 4
test eax, eax
je 0x4284e6
mov eax, 0x42fb38
push eax
call fcn.004042fb
add esp, 4
mov eax, 0x2e
push eax
mov eax, 0x42fb38
push eax
call fcn.004294ae
add esp, 8
jmp 0x42833e
mov eax, dword [ebp - 8]
cmp eax, 0x2e
jne 0x428590
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x42852c
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x2e
je 0x428546
mov eax, 0x42f591
push eax
call fcn.004040c8
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428580
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, 0xcc
mov dword [0x42fb20], eax
jmp 0x42859b
mov eax, 0x2e
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x27
jne 0x4285b3
jmp 0x4285bc
cmp eax, 0x22
jne 0x42872f
mov eax, 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004042d7
add esp, 4
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.004057fa
add esp, 0xc
mov dword [ebp - 0x14], eax
mov eax, 0
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004294ae
add esp, 8
mov eax, 0x42fb38
push eax
call fcn.004042fb
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, 0x42fb38
push eax
call fcn.00407902
add esp, 0xc
lea eax, [ebp - 0x3c]
push eax
call fcn.004042fb
add esp, 4
mov eax, dword [ebp - 0x40]
cmp eax, 0x27
jne 0x4286ef
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x42864b
jmp 0x428658
mov eax, 1
mov dword [ebp - 0x44], eax
jmp 0x428660
mov eax, 2
mov dword [ebp - 0x44], eax
mov eax, dword [0x42fb38]
mov ecx, dword [ebp - 0x44]
cmp eax, ecx
jg 0x42867f
mov eax, str.empty_character_constant
push eax
call fcn.00404055
add esp, 4
mov eax, dword [ebp - 0x44]
shl eax, 1
mov ecx, dword [0x42fb38]
cmp ecx, eax
jle 0x4286a1
mov eax, str.multi_character_character_constant
push eax
call fcn.004040e6
add esp, 4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4286b1
jmp 0x4286d0
mov eax, dword [0x42fb3c]
movsx ecx, byte [eax]
mov dword [0x42fb28], ecx
mov eax, 0xb4
mov dword [0x42fb20], eax
jmp 0x4286ea
mov eax, dword [0x42fb3c]
movzx ecx, word [eax]
mov dword [0x42fb28], ecx
mov eax, 0xb7
mov dword [0x42fb20], eax
jmp 0x428725
mov eax, 0x42fb38
mov dword [0x42fb28], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x42870a
jmp 0x42871a
mov eax, 0xb5
mov dword [0x42fb20], eax
jmp 0x428725
mov eax, 0xb8
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x3c
jne 0x42882b
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428772
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428799
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x9e
mov dword [0x42fb20], eax
jmp 0x428821
mov eax, dword [ebp - 8]
cmp eax, 0x3c
jne 0x428816
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x4287df
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428806
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x81
mov dword [0x42fb20], eax
jmp 0x428811
mov eax, 1
mov dword [0x42fb20], eax
jmp 0x428821
mov eax, 0x9c
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x3e
jne 0x428927
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x42886e
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428895
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x9d
mov dword [0x42fb20], eax
jmp 0x42891d
mov eax, dword [ebp - 8]
cmp eax, 0x3e
jne 0x428912
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x4288db
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428902
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x82
mov dword [0x42fb20], eax
jmp 0x42890d
mov eax, 2
mov dword [0x42fb20], eax
jmp 0x42891d
mov eax, 0x9f
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x26
jne 0x4289cd
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x42896a
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x26
jne 0x428991
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa0
mov dword [0x42fb20], eax
jmp 0x4289c3
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x4289b8
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa6
mov dword [0x42fb20], eax
jmp 0x4289c3
mov eax, 0x26
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x7c
jne 0x428a73
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428a10
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x7c
jne 0x428a37
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa1
mov dword [0x42fb20], eax
jmp 0x428a69
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428a5e
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xfc
mov dword [0x42fb20], eax
jmp 0x428a69
mov eax, 0x7c
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x2b
jne 0x428b19
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428ab6
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x2b
jne 0x428add
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa4
mov dword [0x42fb20], eax
jmp 0x428b0f
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428b04
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xab
mov dword [0x42fb20], eax
jmp 0x428b0f
mov eax, 0x2b
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x2d
jne 0x428be6
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428b5c
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x2d
jne 0x428b83
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa2
mov dword [0x42fb20], eax
jmp 0x428bdc
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428baa
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xad
mov dword [0x42fb20], eax
jmp 0x428bdc
mov eax, dword [ebp - 8]
cmp eax, 0x3e
jne 0x428bd1
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xcb
mov dword [0x42fb20], eax
jmp 0x428bdc
mov eax, 0x2d
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x21
jne 0x428c65
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428c29
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428c50
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x95
mov dword [0x42fb20], eax
jmp 0x428c5b
mov eax, 0x21
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x3d
jne 0x428ce4
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428ca8
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428ccf
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0x94
mov dword [0x42fb20], eax
jmp 0x428cda
mov eax, 0x3d
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x2a
jne 0x428d63
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428d27
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428d4e
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xaa
mov dword [0x42fb20], eax
jmp 0x428d59
mov eax, 0x2a
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x25
jne 0x428de2
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428da6
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428dcd
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xa5
mov dword [0x42fb20], eax
jmp 0x428dd8
mov eax, 0x25
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x5e
jne 0x428e61
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428e25
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428e4c
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xde
mov dword [0x42fb20], eax
jmp 0x428e57
mov eax, 0x5e
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x2f
jne 0x428f2a
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x5c
jne 0x428ea4
mov eax, dword [ebp - 0x14]
push eax
call fcn.00405228
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [0x42fb18]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
cmp eax, 0x2a
jne 0x428ec9
mov eax, dword [ebp - 0x14]
push eax
call fcn.004054c4
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x4278e1
mov eax, dword [ebp - 8]
cmp eax, 0x2f
jne 0x428eee
mov eax, dword [ebp - 0x14]
push eax
call fcn.004052db
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x4278e1
mov eax, dword [ebp - 8]
cmp eax, 0x3d
jne 0x428f15
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, 0xaf
mov dword [0x42fb20], eax
jmp 0x428f20
mov eax, 0x2f
mov dword [0x42fb20], eax
jmp 0x42900b
cmp eax, 0x28
jne 0x428f38
jmp 0x428f41
cmp eax, 0x29
jne 0x428f46
jmp 0x428f4f
cmp eax, 0x5b
jne 0x428f54
jmp 0x428f5d
cmp eax, 0x5d
jne 0x428f62
jmp 0x428f6b
cmp eax, 0x7b
jne 0x428f70
jmp 0x428f79
cmp eax, 0x7d
jne 0x428f7e
jmp 0x428f87
cmp eax, 0x2c
jne 0x428f8c
jmp 0x428f95
cmp eax, 0x3b
jne 0x428f9a
jmp 0x428fa3
cmp eax, 0x3a
jne 0x428fa8
jmp 0x428fb1
cmp eax, 0x3f
jne 0x428fb6
jmp 0x428fbf
cmp eax, 0x7e
jne 0x428fc4
jmp 0x428fcd
cmp eax, 0x24
jne 0x428fd2
jmp 0x428fdb
cmp eax, 0x40
jne 0x428ff4
mov eax, dword [ebp - 8]
mov dword [0x42fb20], eax
mov eax, dword [ebp - 0x14]
mov ecx, eax
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x42900b
mov eax, dword [ebp - 8]
push eax
mov eax, str.unrecognized_character_x_02x
push eax
call fcn.00404055
add esp, 8
jmp 0x42900b
mov eax, 0
mov dword [0x42fb48], eax
mov eax, dword [0x42fb18]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
leave
ret