Function at 0x477850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c14b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x18], ecx
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1cc]
push 0xffffffffffffffff
push ebx
add eax, 0x64
push eax
lea ecx, [esi + 4]
mov edi, 0xf
mov byte [esp + 0x2b], bl
mov dword [esi], ebx
call fcn.004065c0
mov eax, 0x4c4537
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4778a2
sub eax, ecx
push eax
push 0x4c4537
lea ecx, [esi + 0x20]
call fcn.00406680
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 4]
add esi, 0x58
push ecx
mov ecx, esi
call fcn.0044c110
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 8], eax
mov byte [esp + 0x16], bl
mov byte [esp + 0x1e], bl
mov byte [esp + 0x10], bl
mov byte [esp + 0x17], bl
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x1c4], 1
mov ebp, 0x10
lea ebx, [ebx]
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x5c], ebx
jbe 0x477991
mov eax, dword [esi + 0x60]
cmp eax, ebp
lea ecx, [esi + 0x48]
jb 0x477938
mov eax, dword [ecx + 4]
jmp 0x47793b
lea eax, [ecx + 4]
mov dl, byte [eax]
cmp dword [ecx + 0x18], ebp
mov byte [esp + 0x20], dl
jb 0x47794b
mov eax, dword [ecx + 4]
jmp 0x47794e
lea eax, [ecx + 4]
lea edx, [eax + 1]
cmp dword [ecx + 0x18], ebp
jb 0x47795b
mov esi, dword [ecx + 4]
jmp 0x47795e
lea esi, [ecx + 4]
cmp dword [ecx + 0x18], ebp
jb 0x477968
mov edi, dword [ecx + 4]
jmp 0x47796b
lea edi, [ecx + 4]
cmp esi, ebx
jne 0x477973
xor eax, eax
jmp 0x477977
mov eax, esi
sub eax, edi
cmp edx, ebx
jne 0x477986
xor edx, edx
push edx
push eax
call fcn.004064e0
jmp 0x4779b7
sub edx, esi
push edx
push eax
call fcn.004064e0
jmp 0x4779b7
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x478704
push eax
push 1
lea eax, [esp + 0x28]
push 1
push eax
call fcn.004a1c3a
add esp, 0x10
cmp eax, 1
jne 0x478700
mov cl, byte [esp + 0x20]
cmp cl, 0xa
jne 0x4779c7
mov eax, dword [esp + 0x18]
inc dword [eax + 0x3c]
mov edi, dword [esp + 0x1cc]
mov eax, dword [edi]
cmp eax, 4
jne 0x477a9f
cmp dword [edi + 0x50], ebx
lea esi, [edi + 0x20]
jne 0x4779f1
movsx ecx, cl
push ecx
call fcn.004a2885
add esp, 4
test eax, eax
je 0x4779f4
lea esi, [edi + 0x3c]
mov edx, dword [esp + 0x20]
push edx
push 1
mov ecx, esi
call fcn.0043e8e0
cmp byte [esp + 0x20], 0x3e
mov eax, dword [esi + 0x14]
jne 0x477920
cmp eax, 2
jl 0x477920
cmp dword [esi + 0x18], ebp
jb 0x477a23
mov ecx, dword [esi + 4]
jmp 0x477a26
lea ecx, [esi + 4]
cmp byte [ecx + eax - 2], 0x3f
jne 0x477920
add eax, 0xfffffffe
push eax
push ebx
lea ecx, [esp + 0x18c]
push ecx
mov ecx, esi
call fcn.00440550
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x1d0], 2
call fcn.004065c0
cmp dword [esp + 0x19c], ebp
mov byte [esp + 0x1c4], 1
jb 0x477a79
mov edx, dword [esp + 0x188]
push edx
call fcn.0049f22c
add esp, 4
mov edi, dword [esp + 0x1cc]
mov esi, 0xf
mov dword [esp + 0x19c], esi
mov dword [esp + 0x198], ebx
mov byte [esp + 0x188], bl
jmp 0x478195
cmp cl, 0x22
jne 0x477ab4
cmp byte [esp + 0x1e], bl
sete al
mov byte [esp + 0x1e], al
jmp 0x477920
cmp byte [esp + 0x1e], bl
jne 0x477bc3
cmp cl, 0x3c
jne 0x477adf
cmp eax, 3
je 0x477deb
cmp eax, ebx
jne 0x478336
mov dword [edi], 1
jmp 0x477915
cmp cl, 0x3e
je 0x477e5e
cmp cl, 0x2f
jne 0x477b2f
cmp eax, 1
jne 0x477b70
mov eax, 0x4c4537
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477b00
sub eax, edx
mov edx, dword [edi + 0x34]
push eax
lea ecx, [edi + 0x20]
push 0x4c4537
push edx
push ebx
call fcn.00408a60
test eax, eax
jne 0x477b2b
mov dword [edi], 2
jmp 0x477915
mov cl, byte [esp + 0x20]
cmp cl, 0x3f
jne 0x477b70
cmp dword [edi], 1
jne 0x477b70
mov eax, 0x4c4537
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477b41
sub eax, edx
push eax
mov eax, dword [edi + 0x34]
lea ecx, [edi + 0x20]
push 0x4c4537
push eax
push ebx
call fcn.00408a60
test eax, eax
jne 0x477b6c
mov dword [edi], 4
jmp 0x477915
mov cl, byte [esp + 0x20]
movzx ecx, cl
push ecx
call fcn.004a2885
add esp, 4
test eax, eax
je 0x477bb6
mov eax, 0x4c4537
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477b88
sub eax, edx
mov edx, dword [edi + 0x34]
push eax
lea ecx, [edi + 0x20]
push 0x4c4537
push edx
push ebx
call fcn.00408a60
test eax, eax
je 0x477915
mov byte [esp + 0x16], 1
jmp 0x477915
mov cl, byte [esp + 0x20]
cmp cl, 0x20
jbe 0x47866c
mov eax, dword [edi]
cmp eax, ebx
jne 0x477c0f
mov dword [edi], 3
cmp byte [esp + 0x16], bl
je 0x477bfb
mov eax, 0x4c5a0c
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477be0
sub eax, edx
push eax
push 0x4c5a0c
lea ecx, [edi + 0x20]
call fcn.004188c0
mov byte [esp + 0x16], bl
mov eax, dword [esp + 0x20]
push eax
push 1
lea ecx, [edi + 0x20]
call fcn.0043e8e0
jmp 0x477915
cmp eax, 1
jne 0x477bcf
cmp byte [esp + 0x16], bl
je 0x477d85
cmp byte [esp + 0x10], bl
je 0x477d66
cmp byte [esp + 0x17], bl
je 0x477d7a
cmp dword [esp + 0x38], ebx
jbe 0x477d7a
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046bfc0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x1d0], 0x11
call fcn.004065c0
mov eax, dword [esp + 0x60]
mov ebp, 0x10
cmp eax, ebp
mov byte [esp + 0x1c4], 1
jb 0x477c85
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049f22c
add esp, 4
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x16c]
mov esi, 0xf
push ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
call fcn.0046bfc0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1d0], 0x12
call fcn.004065c0
cmp dword [esp + 0x180], ebp
mov byte [esp + 0x1c4], 1
jb 0x477ce1
mov edx, dword [esp + 0x16c]
push edx
call fcn.0049f22c
add esp, 4
lea eax, [esp + 0x64]
push eax
lea ecx, [edi + 0x58]
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
call fcn.00471370
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.004065c0
mov eax, 0x4c4537
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477d20
sub eax, edx
push eax
push 0x4c4537
lea ecx, [esp + 0x6c]
call fcn.00406680
mov eax, 0x4c4537
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477d40
sub eax, edx
push eax
push 0x4c4537
lea ecx, [esp + 0x2c]
call fcn.00406680
mov cl, byte [esp + 0x20]
mov byte [esp + 0x17], bl
mov byte [esp + 0x16], bl
jmp 0x477d8a
mov byte [esp + 0x10], 1
mov ebp, 0x10
mov byte [esp + 0x17], bl
mov byte [esp + 0x16], bl
jmp 0x477d8a
mov ebp, 0x10
mov byte [esp + 0x16], bl
jmp 0x477d8a
mov ebp, 0x10
cmp byte [esp + 0x10], bl
jne 0x477dac
lea ecx, [edi + 0x20]
cmp ecx, ebx
je 0x477920
mov edx, dword [esp + 0x20]
push edx
push 1
call fcn.0043e8e0
jmp 0x477920
cmp cl, 0x3d
jne 0x477dbb
mov byte [esp + 0x17], 1
jmp 0x477920
cmp byte [esp + 0x17], bl
jne 0x477dd6
mov edx, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x68]
push 1
call fcn.0043e8e0
jmp 0x477920
mov edx, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x28]
push 1
call fcn.0043e8e0
jmp 0x477920
mov esi, dword [esp + 0x18]
add esi, 0x48
push esi
lea eax, [esp + 0x134]
push 0x3c
push eax
call fcn.0046b250
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x1d0], 3
call fcn.004065c0
mov eax, dword [esp + 0x148]
mov ebp, 0x10
cmp eax, ebp
mov byte [esp + 0x1c4], 1
jb 0x477e40
mov ecx, dword [esp + 0x134]
push ecx
call fcn.0049f22c
add esp, 4
mov dword [esp + 0x148], 0xf
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
jmp 0x478190
mov eax, dword [edi]
cmp eax, 1
jne 0x47805b
mov eax, 0x4cd888
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x477e71
sub eax, edx
mov edx, dword [edi + 0x34]
push eax
lea esi, [edi + 0x20]
push 0x4cd888
push edx
push ebx
mov ecx, esi
call fcn.00408a60
test eax, eax
mov ebp, 0x10
jne 0x477ea2
mov byte [esp + 0x1f], 1
jmp 0x478190
mov eax, dword [edi + 0x34]
cmp eax, ebx
jle 0x47801d
cmp dword [esi + 0x18], ebp
jb 0x477eb7
mov ecx, dword [esi + 4]
jmp 0x477eba
lea ecx, [esi + 4]
cmp byte [ecx + eax - 1], 0x2f
jne 0x47801d
dec eax
push eax
push ebx
lea eax, [esp + 0x11c]
push eax
mov ecx, esi
call fcn.00440550
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x1d0], 5
call fcn.004065c0
cmp dword [esp + 0x12c], ebp
mov byte [esp + 0x1c4], 1
jb 0x477f0b
mov ecx, dword [esp + 0x118]
push ecx
call fcn.0049f22c
add esp, 4
push esi
lea edx, [esp + 0xf8]
push 0x4cd884
push edx
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], ebx
mov byte [esp + 0x124], bl
call fcn.00418ac0
push 0x4cd880
push eax
lea eax, [esp + 0x160]
push eax
mov byte [esp + 0x1dc], 6
call fcn.00418a10
mov esi, dword [esp + 0x30]
add esi, 0x48
push esi
push eax
lea ecx, [esp + 0x1c0]
push ecx
mov byte [esp + 0x1e8], 7
call fcn.00418b60
add esp, 0x24
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x1d0], 8
call fcn.004065c0
cmp dword [esp + 0x1b8], ebp
jb 0x477f9f
mov edx, dword [esp + 0x1a4]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x164], ebp
mov esi, 0xf
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
jb 0x477fd2
mov eax, dword [esp + 0x150]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x10c], ebp
mov dword [esp + 0x164], esi
mov dword [esp + 0x160], ebx
mov byte [esp + 0x150], bl
mov byte [esp + 0x1c4], 1
jb 0x478008
mov ecx, dword [esp + 0xf8]
push ecx
call fcn.0049f22c
add esp, 4
mov dword [esp + 0x10c], esi
mov dword [esp + 0x108], ebx
mov byte [esp + 0xf8], bl
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x78], ebx
je 0x478047
mov eax, 0x4cce70
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x478030
sub eax, edx
push eax
push 0x4cce70
lea ecx, [esi + 0x64]
call fcn.004188c0
push 0xffffffffffffffff
push ebx
lea eax, [edi + 0x20]
push eax
lea ecx, [esi + 0x64]
call fcn.004187c0
jmp 0x478190
cmp eax, 2
jne 0x4785e9
mov ebp, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
lea edx, [esp + 0x18]
lea ecx, [ebp + 0x64]
push edx
mov byte [esp + 0x1c], 0x2f
mov dword [esp + 0x50], ecx
call fcn.0046a8b0
mov esi, eax
cmp esi, 0xffffffff
jne 0x478092
cmp dword [ebp + 0x78], ebx
je 0x4783ac
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x50]
call fcn.00440550
mov edx, dword [edi + 0x38]
mov eax, dword [edi + 0x34]
lea ecx, [edi + 0x20]
mov ebp, 0x10
cmp edx, ebp
mov byte [esp + 0x1c4], 0xa
mov dword [esp + 0x40], ecx
jb 0x4780ce
mov edx, ecx
mov ecx, dword [edx + 4]
jmp 0x4780d5
mov ecx, dword [esp + 0x40]
add ecx, 4
push eax
mov eax, dword [esp + 0x9c]
push ecx
push eax
push ebx
lea ecx, [esp + 0x94]
call fcn.00408a60
test eax, eax
jne 0x478440
cmp esi, 0xffffffff
push ecx
mov ecx, esp
jne 0x47812c
mov esi, dword [esp + 0x48]
mov dword [esp + 0x44], esp
push ecx
mov ecx, esi
call fcn.00444550
push ecx
mov edx, esp
mov dword [esp + 0x4c], esp
push edx
mov ecx, esi
call fcn.00444530
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.0046afc0
jmp 0x47817c
mov dword [esp + 0x84], esp
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0x64
call fcn.00444550
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x118]
mov dword [esp + 0x88], esp
mov edi, esp
push edx
add ecx, 0x64
call fcn.00444530
mov eax, dword [eax]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x24]
add eax, esi
add ecx, 0x64
mov dword [edi], eax
call fcn.0046afc0
mov edi, dword [esp + 0x1cc]
lea ecx, [esp + 0x84]
mov byte [esp + 0x1c4], 1
call fcn.00406270
mov esi, 0xf
cmp dword [esp + 0x78], ebx
jbe 0x47827b
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.0046bfc0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x1d0], 0x14
call fcn.004065c0
cmp dword [esp + 0xd4], ebp
mov byte [esp + 0x1c4], 1
jb 0x4781ea
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.0049f22c
add esp, 4
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xdc]
push eax
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
call fcn.0046bfc0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1d0], 0x15
call fcn.004065c0
cmp dword [esp + 0xf0], ebp
mov byte [esp + 0x1c4], 1
jb 0x47824a
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.0049f22c
add esp, 4
lea edx, [esp + 0x64]
push edx
lea ecx, [edi + 0x58]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf0], ebx
mov byte [esp + 0xe0], bl
call fcn.00471370
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.004065c0
add edi, 0x20
lea edx, [esp + 0xa0]
push edi
push edx
call fcn.0046bfc0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x1d0], 0x16
call fcn.004065c0
cmp dword [esp + 0xb8], ebp
mov byte [esp + 0x1c4], 1
jb 0x4782c3
mov eax, dword [esp + 0xa4]
push eax
call fcn.0049f22c
add esp, 4
cmp byte [esp + 0x1f], bl
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
je 0x4785b2
cmp eax, ebp
jb 0x4782f7
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x7c], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov dword [esp + 0x1c4], 0xffffffff
jb 0x478321
mov edx, dword [esp + 0x68]
push edx
call fcn.0049f22c
add esp, 4
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
jmp 0x477875
mov edi, 0xf
mov eax, str.Unexpected__
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x478358
sub eax, edx
push eax
push str.Unexpected__
lea ecx, [esp + 0x8c]
call fcn.00406680
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
mov byte [esp + 0x1c8], 4
call fcn.004776f0
mov eax, dword [esp + 0x9c]
mov esi, 0x10
cmp eax, esi
jb 0x4786cd
mov ecx, dword [esp + 0x88]
jmp 0x4786c4
mov edi, 0xf
mov eax, str.Unexpected_End
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4783c5
sub eax, edx
push eax
push str.Unexpected_End
lea ecx, [esp + 0x50]
call fcn.00406680
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x1c8], 9
call fcn.004776f0
mov eax, dword [esp + 0x60]
mov esi, 0x10
cmp eax, esi
jb 0x47840d
mov edx, dword [esp + 0x4c]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x3c], esi
jb 0x478420
mov eax, dword [esp + 0x28]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jb 0x47879c
mov ecx, dword [esp + 0x68]
push ecx
jmp 0x478794
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0xf8]
push str.End_
push eax
call fcn.00418ac0
push str._Doesnt_Match_Start_
push eax
lea ecx, [esp + 0xd0]
push ecx
mov byte [esp + 0x1dc], 0xb
call fcn.00418a10
lea edx, [esp + 0x9c]
push edx
push eax
lea eax, [esp + 0xf8]
push eax
mov byte [esp + 0x1e8], 0xc
call fcn.00418b60
push 0x4ccf50
push eax
lea ecx, [esp + 0xcc]
push ecx
mov byte [esp + 0x1f4], 0xd
call fcn.00418a10
add esp, 0x30
mov ecx, dword [esp + 0x18]
push eax
mov byte [esp + 0x1c8], 0xe
call fcn.004776f0
cmp dword [esp + 0xb8], ebp
jb 0x4784d9
mov edx, dword [esp + 0xa4]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0xf0], ebp
mov esi, 0xf
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
jb 0x47850c
mov eax, dword [esp + 0xdc]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0xd4], ebp
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jb 0x47853a
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x10c], ebp
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], bl
jb 0x478568
mov edx, dword [esp + 0xf8]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x9c], ebp
jb 0x478581
mov eax, dword [esp + 0x88]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x3c], ebp
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
jb 0x4785a9
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0049f22c
add esp, 4
mov dword [esp + 0x3c], esi
jmp 0x478781
cmp eax, ebp
jb 0x4785c3
mov eax, dword [esp + 0x28]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x7c], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jb 0x4785e2
mov ecx, dword [esp + 0x68]
push ecx
call fcn.0049f22c
add esp, 4
mov al, 1
jmp 0x47879e
mov edi, 0xf
mov eax, 0x4cd830
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x478602
sub eax, edx
push eax
push 0x4cd830
lea ecx, [esp + 0x50]
call fcn.00406680
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0x1c8], 0xf
call fcn.004776f0
mov eax, dword [esp + 0x60]
mov esi, 0x10
cmp eax, esi
jb 0x47864a
mov eax, dword [esp + 0x4c]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x3c], esi
jb 0x47865d
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0049f22c
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], edi
cmp eax, esi
jmp 0x478785
mov edi, 0xf
mov eax, str.Illegal_Character
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x478685
sub eax, edx
push eax
push str.Illegal_Character
lea ecx, [esp + 0x50]
call fcn.00406680
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x1c8], 0x10
call fcn.004776f0
mov eax, dword [esp + 0x60]
mov esi, 0x10
cmp eax, esi
jb 0x4786cd
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x3c], esi
jb 0x4786e0
mov edx, dword [esp + 0x28]
push edx
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jb 0x47879c
mov eax, dword [esp + 0x68]
push eax
jmp 0x478794
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1cc]
cmp dword [ecx], ebx
je 0x478766
mov eax, str.Unexpected_End_of_File
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x478727
sub eax, edx
push eax
push str.Unexpected_End_of_File
lea ecx, [esp + 0x50]
call fcn.00406680
lea edx, [esp + 0x48]
push edx
mov ecx, esi
mov byte [esp + 0x1c8], 0x13
call fcn.004776f0
cmp dword [esp + 0x60], ebp
jb 0x478766
mov eax, dword [esp + 0x4c]
push eax
call fcn.0049f22c
add esp, 4
cmp dword [esp + 0x3c], ebp
jb 0x478779
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0049f22c
add esp, 4
mov dword [esp + 0x3c], 0xf
cmp dword [esp + 0x7c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jb 0x47879c
mov edx, dword [esp + 0x68]
push edx
call fcn.0049f22c
add esp, 4
xor al, al
mov ecx, dword [esp + 0x1bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1b8
ret 4