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

Disassembly:
sub esp, 0xf0
push ebp
push esi
mov esi, eax
mov eax, dword [esi]
push edi
push eax
call fcn.00499c30
mov edi, eax
xor ebp, ebp
add esp, 4
cmp edi, ebp
jge 0x4a64aa
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xf0
ret
cmp edi, 0xd3
push ebx
ja case.0x4a64be.4
movzx ecx, byte [edi + 0x4a76f0]
jmp dword [ecx*4 + 0x4a762c]
mov edx, dword [esi]
push edx
call fcn.00499c30
add esp, 4
test eax, eax
jne 0x4a6521
mov eax, dword [esi]
push eax
call fcn.00499c30
add esp, 4
test eax, eax
jne 0x4a6521
mov ecx, dword [esi]
push ecx
call fcn.00499c30
add esp, 4
cmp eax, 0xc9
jne 0x4a6521
push str.Skipping_extra_0s_before_OLENDMARKUP_n
push 3
call fcn.004431d0
mov edx, dword [esi]
push 0xc9
push edx
call fcn.00499bd0
add esp, 0x10
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, 1
call fcn.004a4a70
cmp eax, 0xffffffff
je 0x4a7547
push ebp
push ebp
push 1
mov eax, dword [esi + 0xc]
push eax
call fcn.004967f0
push ebp
push eax
mov dword [esi + 0x10], eax
call fcn.004b4240
push ebp
push eax
mov dword [esi + 0x14], eax
call fcn.004b4000
add esp, 0x20
pop ebx
pop edi
mov dword [esi + 0x18], eax
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
push str.OLFACET_n
call fcn.00442cd0
mov ecx, dword [esi]
push ecx
call fcn.00499c30
add esp, 8
cmp eax, 7
jne 0x4a7547
jmp 0x4a7531
push str.OLENDFACET_n
call fcn.00442cd0
add esp, 4
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
push str.OLNORMAL_token_not_implemented_n
push 1
call fcn.004431d0
mov eax, dword [esi]
push 0xc
push eax
call fcn.004ac0e0
add esp, 0x10
jmp 0x4a753e
mov edx, dword [esi]
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
cmp dword [esi + 0x5c], ebp
je 0x4a6687
mov eax, 0xc
lea ecx, [esp + 0x18]
lea edx, [esi + 0x50]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4a6620
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4a6608
cmp eax, ebp
je 0x4a667d
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4a666f
sub eax, 1
add ecx, 1
add edx, 1
cmp eax, ebp
je 0x4a667d
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4a666f
sub eax, 1
add ecx, 1
add edx, 1
cmp eax, ebp
je 0x4a667d
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4a666f
sub eax, 1
add ecx, 1
add edx, 1
cmp eax, ebp
je 0x4a667d
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x4a667d
cmp edi, ebp
mov eax, 1
jg 0x4a667f
or eax, 0xffffffff
jmp 0x4a667f
xor eax, eax
cmp eax, ebp
je case.0x4a64be.98
fld dword [esp + 0x18]
pop ebx
fstp dword [esi + 0x50]
pop edi
fld dword [esp + 0x14]
mov dword [esi + 0x30], ebp
fstp dword [esi + 0x54]
mov dword [esi + 0x5c], 1
fld dword [esp + 0x18]
mov eax, 1
fstp dword [esi + 0x58]
pop esi
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a5bc0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a58f0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a5a50
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov edx, dword [esi]
lea ecx, [esp + 0x10]
push ecx
push 4
push 1
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x10]
fld1
add eax, 0xffffffff
cmp eax, 3
ja case.default.0x4a6738
jmp dword [eax*4 + 0x4a77c4]
fld dword [0x511304]
jmp 0x4a675a
fst dword [esi + 0x70]
jmp case.default.0x4a6738
fld dword [0x511300]
jmp 0x4a675a
fld dword [0x5112fc]
fstp dword [esi + 0x70]
fld dword [esi + 0x70]
fstp dword [esi + 0x74]
fcomp dword [esi + 0x70]
fnstsw ax
test ah, 0x44
jnp 0x4a6780
pop ebx
mov eax, 1
pop edi
mov dword [esi + 0x6c], eax
pop esi
pop ebp
add esp, 0xf0
ret
pop ebx
xor eax, eax
pop edi
mov dword [esi + 0x6c], eax
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
cmp dword [esi + 0x64], 5
jne 0x4a67a8
mov eax, dword [esi]
push 4
push eax
call fcn.004ac0e0
add esp, 8
cmp dword [esi + 0x30], ebp
jne 0x4a67cb
cmp dword [esi + 0x5c], ebp
je 0x4a67cb
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x128]
lea ecx, [esi + 0x50]
push ecx
push eax
call fcn.00445070
add esp, 8
mov dword [esi + 0x30], eax
cmp dword [esi + 0x60], ebp
jne 0x4a67e5
call fcn.0042f100
mov ecx, dword [esi + 0x18]
push eax
push ecx
mov dword [esi + 0x1c], eax
call fcn.004b4790
add esp, 8
mov edx, dword [esi + 0x1c]
mov edi, dword [edx + 0x1c]
cmp edi, ebp
jne 0x4a680d
call fcn.004c2520
mov edi, eax
mov eax, dword [esi + 0x24]
push edi
push eax
call fcn.0045e650
mov ecx, dword [esi + 0x1c]
push edi
push ecx
call fcn.0042f220
add esp, 0x10
fld dword [0x510f40]
push ebp
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edi
call fcn.004597a0
mov edx, dword [esi + 0x30]
push 1
push edx
push eax
call fcn.0045e3a0
add esp, 0x1c
pop ebx
pop edi
mov dword [esi + 0x28], eax
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi]
lea edi, [esi + 0x3c]
push edi
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [edi]
cmp eax, ebp
jle case.0x4a64be.98
cmp eax, dword [esi + 0x40]
jle 0x4a68bb
mov eax, dword [esi + 0x34]
cmp eax, ebp
je 0x4a6883
push eax
call fcn.00418550
add esp, 4
mov eax, dword [esi + 0x38]
cmp eax, ebp
je 0x4a6893
push eax
call fcn.00418550
add esp, 4
mov eax, dword [edi]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esi + 0x40], eax
call fcn.00443680
mov edx, dword [esi + 0x40]
add edx, edx
add edx, edx
push edx
mov dword [esi + 0x34], eax
call fcn.00443680
add esp, 8
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
mov dword [eax], ebp
xor eax, eax
cmp dword [edi], ebp
mov dword [esp + 0x10], eax
jle case.0x4a64be.98
mov edi, edi
mov edx, dword [esi + 0x34]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esi]
push eax
push 4
push 3
push ecx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
cmp dword [esi + 0x6c], ebp
je 0x4a693a
mov eax, dword [esp + 0x10]
fld dword [esi + 0x70]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x34]
fmul dword [eax + edx*4]
lea eax, [eax + edx*4]
fstp dword [eax]
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x34]
fld dword [esi + 0x70]
lea ecx, [eax + eax*2]
fmul dword [edx + ecx*4 + 4]
lea eax, [edx + ecx*4 + 4]
fstp dword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x34]
fld dword [esi + 0x70]
lea eax, [eax + eax*2]
fmul dword [ecx + eax*4 + 8]
lea eax, [ecx + eax*4 + 8]
fstp dword [eax]
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [edi]
mov dword [esp + 0x10], eax
jl 0x4a68d0
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je 0x4a69a2
push ecx
push eax
push str.Vertex_array_and_normal_array_lengths_differ___d__d__n
push 1
push 0x2b68
call fcn.00442f20
add esp, 0x14
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xf0
ret
cmp ecx, ebp
jle case.0x4a64be.98
cmp eax, ebp
mov dword [esp + 0x10], ebp
jle case.0x4a64be.98
mov edx, dword [esi]
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov edx, dword [esi + 0x34]
push ebp
push ebp
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esi + 0x24]
push eax
push 1
push ecx
call fcn.0045e6d0
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x38]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x28]
add eax, 1
add esp, 0x18
cmp eax, dword [esi + 0x3c]
mov dword [esp + 0x10], eax
jl 0x4a69b6
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x10]
cmp eax, ebp
jle case.0x4a64be.98
xor ebx, ebx
cmp eax, ebp
jle case.0x4a64be.98
mov edi, 2
mov edx, dword [esi]
lea ecx, [esp + 0x14]
push ecx
push 4
push 1
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x3c]
jge 0x4a7547
sub edi, 1
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [esp + edi*4 + 0x1c], edx
jns 0x4a6a58
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esi + 0x28]
push ecx
mov ecx, dword [esi + 0x24]
push edx
push eax
push ecx
call fcn.004b51c0
add ebx, 1
add esp, 0x14
cmp ebx, dword [esp + 0x10]
jl 0x4a6a53
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
cmp dword [esi + 0x60], ebp
jne case.0x4a64be.98
pop ebx
pop edi
mov dword [esi + 0x1c], ebp
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
push str.File_contains_a_SERVERERROR_tag_n
push 1
push 0x2b69
call fcn.00442f20
add esp, 0xc
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a5cd0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov edi, 5
cmp dword [esi + 0x64], edi
jne 0x4a6b5c
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x2c]
push ecx
push edx
call fcn.004b9ec0
add esp, 8
mov dword [esi + 0x1c], eax
cmp dword [esi + 0x1c], ebp
jne 0x4a6c02
call fcn.0042f100
push eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
push eax
call fcn.004b4790
add esp, 8
cmp dword [esi + 0x30], ebp
jne 0x4a6b9d
cmp dword [esi + 0x5c], ebp
je 0x4a6b9d
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x128]
lea ecx, [esi + 0x50]
push ecx
push eax
call fcn.00445070
add esp, 8
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x30]
mov dword [ecx + 0xc], edx
cmp dword [esi + 0x64], edi
jne 0x4a6bc0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x2c]
push eax
push ecx
push edx
call fcn.004b9f50
add esp, 0xc
mov ecx, dword [0x56e550]
cmp ecx, ebp
je 0x4a6c02
mov ebx, dword [ecx]
test bl, 0x1f
mov eax, dword [0x56e554]
mov eax, dword [eax]
jne 0x4a6bf1
lea ecx, [ebx*4 + 0x80]
push ecx
push eax
call fcn.004436b0
mov edx, dword [0x56e554]
add esp, 8
mov dword [edx], eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + ebx*4], ecx
mov edx, dword [0x56e550]
add ebx, 1
mov dword [edx], ebx
pop ebx
pop edi
mov dword [esi + 0x60], 1
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
cmp dword [esi + 0x60], 2
jne 0x4a6f6a
mov eax, dword [esi + 0x1c]
mov ebx, dword [eax + 0x14]
cmp ebx, ebp
je 0x4a6c53
mov edi, dword [eax + 0x10]
cmp edi, ebp
je 0x4a6c40
cmp byte [edi + 0x38], 4
je 0x4a6c57
cmp byte [ebx + 0x38], 4
jne 0x4a6c57
mov dword [eax + 0x10], ebx
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x14], edi
mov eax, dword [esi + 0x1c]
mov ebx, edi
mov edi, dword [eax + 0x10]
jmp 0x4a6c57
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
mov ecx, eax
cmp ecx, ebp
je 0x4a6ef9
cmp byte [ecx + 0x10], 1
je 0x4a6c73
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x4a6c64
jmp 0x4a6c84
cmp byte [eax + 0x10], 0
jne 0x4a6c7d
mov byte [eax + 0x10], 2
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a6c73
cmp dword [esi + 0x44], ebp
je 0x4a6ef9
test ebx, ebx
je 0x4a6f13
cmp byte [edi + 0x38], 4
jne 0x4a6ef9
cmp byte [ebx + 0x38], 5
jne 0x4a6ef9
fld qword [edi + 8]
lea ecx, [esp + 0x88]
fstp qword [esp + 0x40]
push ecx
fld qword [edi + 0x18]
lea edx, [esp + 0x44]
fstp qword [esp + 0x4c]
push edx
fld qword [edi + 0x10]
push edi
fstp qword [esp + 0x24]
fld qword [edi + 0x20]
fstp qword [esp + 0x2c]
call fcn.004326d0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x28]
push ecx
push edi
call fcn.004326d0
or dword [ebx + 0x34], 0x50
push 0
push 0
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0xb0]
push ecx
push 0
push ebx
call fcn.00461c70
add esp, 0x34
cmp eax, 1
jne 0x4a6ef9
push 0
push 0
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x38]
push ecx
push 0
push ebx
call fcn.00461c70
add esp, 0x1c
cmp eax, 1
jne 0x4a6ef9
fld qword [esp + 0xb0]
fsub qword [esp + 0xa0]
fld qword [esp + 0xb8]
fsub qword [esp + 0xa8]
fst qword [esp + 0xf8]
fldz
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4a6ee9
fcompp
fnstsw ax
test ah, 5
jp 0x4a6ef7
fld qword [esp + 0x18]
fsub qword [esp + 0x40]
fld qword [esp + 0x20]
fsub qword [esp + 0x48]
fld qword [esp + 0x28]
fsub qword [esp + 0x88]
fst qword [esp + 0x28]
fld qword [esp + 0x30]
fsub qword [esp + 0x90]
fst qword [esp + 0x30]
fld qword [esp + 0x38]
fsub qword [esp + 0x98]
fst qword [esp + 0x38]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fld qword [esp + 0x70]
fsub qword [esp + 0x50]
fst qword [esp + 0x70]
fld qword [esp + 0x78]
fsub qword [esp + 0x58]
fst qword [esp + 0x78]
fld qword [esp + 0x80]
fsub qword [esp + 0x60]
fst qword [esp + 0x80]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fsubr st(1)
fabs
fxch st(1)
fmul qword [0x510f80]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4a6eef
fxch st(1)
fdivrp st(2)
fld qword [0x510f90]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4a6ef5
fdiv qword [esp + 0xf8]
fcompp
fnstsw ax
test ah, 5
jp 0x4a6ef9
fld qword [0x511158]
mov edx, dword [esi + 0x1c]
fstp qword [esp + 0xc0]
fld qword [0x511160]
fstp qword [esp + 0xc8]
fld qword [0x511168]
fstp qword [esp + 0xd0]
fld qword [0x511170]
fstp qword [esp + 0xd8]
fld qword [0x511178]
fstp qword [esp + 0xe0]
fld qword [0x511180]
fstp qword [esp + 0xe8]
mov ebp, dword [edx + 0x18]
test ebp, ebp
je 0x4a6ef9
mov al, byte [ebp + 0x10]
test al, al
je 0x4a6eb2
cmp al, 1
jne 0x4a6ee0
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4a6ee0
lea esp, [esp]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4a6eda
lea ecx, [esp + 0xc0]
push ecx
push 8
push eax
call fcn.0043c500
add esp, 0xc
mov edi, dword [edi]
test edi, edi
jne 0x4a6ec0
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x4a6ea7
jmp 0x4a6ef9
fstp st(0)
fstp st(0)
jmp 0x4a6ef7
fstp st(1)
fstp st(0)
jmp 0x4a6ef7
fstp st(1)
fstp st(0)
test ebx, ebx
je 0x4a6f13
cmp byte [ebx + 0x38], 0
je 0x4a6f13
or dword [ebx + 0x34], 0x50
mov edx, dword [esi + 0x1c]
push edx
call fcn.0042fa30
add esp, 4
mov eax, dword [0x56ebd0]
mov edx, dword [0x53f4e4]
lea ecx, [eax*8]
sub ecx, eax
test dword [edx + ecx*4 + 0xc], 0x20000
lea eax, [edx + ecx*4]
je 0x4a6f68
mov eax, dword [eax]
mov ecx, dword [str._unknown_program_]
push eax
push ecx
push str._s_MONITOR:_s:
call fcn.00442db0
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 0x10]
push edx
push eax
push str.Read_face:__x__x_n
call fcn.00442cd0
mov eax, dword [esi + 0x1c]
push 4
push eax
call fcn.0046a500
add esp, 0x20
xor ebp, ebp
pop ebx
pop edi
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x60], ebp
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a4f90
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov ecx, dword [esi]
push 4
push ecx
call fcn.004ac0e0
add esp, 8
cmp eax, 0xffffffff
je 0x4a7547
call fcn.004b9c30
pop ebx
pop edi
mov dword [esi + 0x20], eax
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi + 0x20]
cmp dword [eax + 0xc], ebp
push eax
je 0x4a700f
mov edx, dword [esi + 0x1c]
push edx
call fcn.0042f320
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x10]
add esp, 8
cmp eax, ebp
je 0x4a7017
test byte [eax + 0x34], 1
jne 0x4a7017
mov ecx, dword [esi + 0x20]
push ecx
call fcn.0044bc40
add esp, 4
pop ebx
pop edi
mov dword [esi + 0x20], ebp
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
call fcn.0044bb40
add esp, 4
pop ebx
pop edi
mov dword [esi + 0x20], ebp
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a52f0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a4e60
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a4cd0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a53f0
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, esi
call fcn.004a5510
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
call fcn.004a5f60
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov ebx, esi
call fcn.004a6290
cmp eax, 0xffffffff
jne case.0x4a64be.98
pop ebx
pop edi
pop esi
or eax, eax
pop ebp
add esp, 0xf0
ret
mov eax, 1
call fcn.004a4a70
cmp eax, 0xffffffff
je 0x4a7547
mov edx, dword [esi + 0xc]
push ebp
push ebp
push ebp
push edx
call fcn.004967f0
push ebp
push eax
mov dword [esi + 0x10], eax
call fcn.004b4240
push ebp
push eax
mov dword [esi + 0x14], eax
call fcn.004b4000
add esp, 0x20
pop ebx
pop edi
mov dword [esi + 0x18], eax
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, 1
call fcn.004a4a70
cmp eax, 0xffffffff
jne case.0x4a64be.68
call fcn.004a4a30
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xf0
ret
mov ecx, dword [esi]
push 4
push ecx
call fcn.004ac0e0
add esp, 8
cmp eax, 0xffffffff
je 0x4a7547
call fcn.004b9c30
pop ebx
mov dword [esi + 0x20], eax
pop edi
pop esi
mov byte [eax + 0x10], 1
mov eax, 1
pop ebp
add esp, 0xf0
ret
push 4
jmp 0x4a7533
push ebp
push ebp
push 2
jmp 0x4a6545
push 0x1c
jmp 0x4a7533
mov ecx, dword [esi]
push 0xc
push ecx
call fcn.004ac0e0
add esp, 8
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
push ecx
jmp 0x4a7533
mov eax, dword [esi]
push 0x18
push eax
call fcn.004ac0e0
add esp, 8
cmp eax, 0xffffffff
je 0x4a7547
mov eax, 1
call fcn.004a4a70
cmp eax, 0xffffffff
je 0x4a7547
mov ecx, dword [esi]
push 0x28
push ecx
jmp 0x4a7536
mov edx, dword [esi]
push edx
call fcn.00499c30
add esp, 4
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x4a727c
push str.Skipping_extra_0s_after_OLENDMARKUP_n
push 3
call fcn.004431d0
mov eax, dword [esi]
push eax
call fcn.00499c30
add esp, 0xc
test eax, eax
jne 0x4a7260
mov ecx, dword [esi]
push ecx
call fcn.00499c30
add esp, 4
test eax, eax
je case.0x4a64be.98
mov edx, dword [esi]
push ebp
push edx
call fcn.00499bd0
add esp, 8
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
push eax
mov eax, dword [esi]
push eax
call fcn.00499bd0
add esp, 8
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, 1
call fcn.004a4a70
jmp 0x4a753e
mov ecx, dword [esi]
push 4
push ecx
jmp 0x4a7536
lea ebx, [esp + 0x50]
mov edi, 0x20
mov eax, esi
call fcn.004a4ac0
cmp eax, 0xffffffff
je 0x4a7547
mov edx, ebx
push 0x54d528
push edx
call fcn.00472210
mov ecx, dword [esi + 0x10]
add esp, 8
test eax, eax
sete al
cmp byte [ecx + 0x60], al
mov byte [esp + 0x14], al
je case.0x4a64be.98
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
push 0
push 0
push edx
push eax
call fcn.004967f0
push 0
push eax
mov dword [esi + 0x10], eax
call fcn.004b4240
push 0
jmp 0x4a6559
mov edx, dword [esi]
lea ecx, [esp + 0x10]
push ecx
push 4
push 1
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x10]
cmp eax, ebp
jle case.0x4a64be.98
add eax, eax
add eax, eax
push eax
call fcn.00443680
mov ebp, eax
mov eax, dword [esp + 0x14]
add esp, 4
xor edi, edi
test eax, eax
jle 0x4a7394
mov edx, dword [esi]
lea ecx, [esp + 0x14]
push ecx
push 4
push 1
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x3c]
jge 0x4a7547
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [ebp + edi*4], edx
mov eax, dword [esp + 0x10]
add edi, 1
cmp edi, eax
jl 0x4a7355
mov ecx, dword [esi + 0x24]
push ebp
push eax
mov eax, dword [esi + 0x28]
push eax
push ecx
call fcn.004b5310
push ebp
call fcn.00418550
add esp, 0x14
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x10]
cmp eax, ebp
jle case.0x4a64be.98
lea ecx, [eax*4]
push ecx
call fcn.00443680
mov ebp, eax
mov eax, dword [esp + 0x14]
add esp, 4
xor edi, edi
test eax, eax
jle 0x4a7440
mov eax, dword [esi]
lea edx, [esp + 0x14]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x3c]
jge 0x4a7547
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [ebp + edi*4], edx
mov eax, dword [esp + 0x10]
add edi, 1
cmp edi, eax
jl 0x4a7401
mov ecx, dword [esi + 0x24]
push ebp
push eax
mov eax, dword [esi + 0x28]
push eax
push ecx
call fcn.004b5210
push ebp
call fcn.00418550
add esp, 0x14
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push 4
push 1
push eax
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov ecx, dword [esp + 0x10]
cmp ecx, ebp
jle case.0x4a64be.98
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x10], eax
jle case.0x4a64be.98
lea ecx, [ecx]
xor edi, edi
mov edx, dword [esi]
lea ecx, [esp + 0x14]
push ecx
push 4
push 1
push edx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x3c]
jge 0x4a7547
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [esp + edi*4 + 0x18], edx
add edi, 1
cmp edi, 3
jl 0x4a74b2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esi + 0x28]
push ecx
mov ecx, dword [esi + 0x24]
push edx
push eax
push ecx
call fcn.004b51c0
add ebx, 1
add esp, 0x14
cmp ebx, dword [esp + 0x10]
jl 0x4a74b0
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov eax, 1
call fcn.004a4a70
cmp eax, 0xffffffff
je 0x4a7547
push 0xc
mov edx, dword [esi]
push edx
call fcn.004ac0e0
add esp, 8
cmp eax, 0xffffffff
jne case.0x4a64be.98
call fcn.004a4a30
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xf0
ret
mov ecx, dword [esi]
lea eax, [esp + 0x18]
push eax
push 4
push 3
push ecx
call fcn.00499950
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7547
fld dword [esp + 0x18]
lea edx, [esp + 0x50]
fstp qword [esp + 0x50]
push edx
fld dword [esp + 0x20]
fstp qword [esp + 0x5c]
fld dword [esp + 0x24]
fstp qword [esp + 0x64]
call fcn.004d4040
add esp, 4
cmp dword [esi + 0x30], ebp
mov edi, eax
jne 0x4a75ba
cmp dword [esi + 0x5c], ebp
je 0x4a75ba
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x128]
lea eax, [esi + 0x50]
push eax
push edx
call fcn.00445070
add esp, 8
mov dword [esi + 0x30], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov dword [eax + 0x74], ecx
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edi
push edx
push eax
call fcn.00445bf0
add esp, 0xc
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0xf0
ret
mov ecx, dword [esi]
test byte [ecx + 4], 0x40
je 0x4a75f4
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x20]
jmp 0x4a7600
mov ecx, dword [ecx + 0x14]
push ecx
call fcn.0050182c
add esp, 4
mov edx, dword [esi]
mov ecx, dword [edx]
mov edx, dword [esi + 0x68]
push ecx
push edx
push eax
push edi
push str.Got_unrecognised_token__d_at_point__d_in_section__d_of_file___s__n
push 1
push 0x2b6a
call fcn.00442f20
add esp, 0x1c
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xf0
ret