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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x47bd4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x479808
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4797fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00405468
dec esi
cmp esi, 0xffffffff
jne 0x4797e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
call dword [edx]
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov bl, 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4c]
mov byte [ebp - 0x39], al
dec al
je 0x479839
sub al, 2
je 0x4798c6
jmp 0x4798cf
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x479849
xor ebx, ebx
jmp 0x47bd34
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x4670f0]
jne 0x479894
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x47bd34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4798d6
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4798d6
xor ebx, ebx
jmp 0x47bd34
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0047976c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x47bcbf
cmp dword [ebp - 0x48], 0
je 0x479905
mov eax, dword [ebp - 4]
call dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x479922
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
cmp esi, 0xe
jg 0x47998b
je 0x47b554
cmp esi, 0xd
ja case.default.0x4799a2
jmp dword [esi*4 + 0x479953]
cmp esi, 0x15
jg 0x4799c1
je 0x47aab9
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x4799a2
jmp dword [esi*4 + 0x4799a9]
cmp esi, 0x19
jg 0x4799e8
je 0x47a4d0
sub esi, 0x16
je 0x47b1f6
dec esi
je 0x47b473
dec esi
je 0x47b392
jmp case.default.0x4799a2
sub esi, 0x1a
je 0x47a524
sub esi, 0xe5
je 0x47bcbf
jmp case.default.0x4799a2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x479ad3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479a38
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479a45
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x479ac4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004700c8
test al, al
jne 0x479bbc
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479b27
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479b34
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479b82
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47bcbf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479bdd
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479bea
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479c38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x479c8f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x479d79
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479cde
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479ceb
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479d39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x479d6a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00473604
test al, al
jne 0x479e66
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479dd1
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479dde
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479e2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47bcbf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479e87
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479e94
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479ee2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bcbf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.00486a0c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004700c8
test al, al
jne 0x47a02b
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x479f96
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x479fa3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x479ff1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47bcbf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x47a04c
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x47a059
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x47a0a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bcbf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47a116
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.00479178
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486a0c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x47a15f
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x47bcbf
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1a]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x16]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x47a199
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x47a1c3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x47a1d2
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a202
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
ja 0x47a23a
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [0x4670f0]
jne 0x47a43f
xor eax, eax
push ebp
push 0x47a2bb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x47a2ae
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x47a2a1
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0046de14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bccc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486a0c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a4fb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a55a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a5a3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a5ec
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x47a62e.0
jmp dword [eax*4 + 0x47a635]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x47a6bf
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0046de14
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47a6d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
cmp byte [ebp - 0x41], 0
je 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47a708
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x47a74a.0
jmp dword [eax*4 + 0x47a751]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x47a7db
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0046de14
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47a7ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
cmp byte [ebp - 0x41], 0
je 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x47a910
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
jmp 0x47a8ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x47a871
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebx + 0xc]
sub edx, eax
ja 0x47a871
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
inc dword [ebp - 0x4c]
jne 0x47a861
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x47a899
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x47a910
cmp dword [ebx + 0x18], 0xffffffff
je 0x47a8b8
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x47a910
mov eax, ebx
call fcn.00405468
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043b1a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x47a910
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
je 0x47a83e
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x47a910
cmp dword [ebx + 8], 0xffffffff
jne 0x47a83e
cmp dword [ebp - 0x30], 0
jne 0x47bcbf
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x47a939
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
inc edx
sub edx, eax
jg 0x47a962
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
inc dword [ebp - 0x4c]
jne 0x47a952
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jb 0x47a982
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x47a9de
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47aa21
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jae 0x47aa59
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486a0c
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47aa9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004785a8
test al, al
je 0x47bccc
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47aadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0047965c
test al, al
je 0x47bccc
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47ab20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00478448
test al, al
je 0x47bccc
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47ab82
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
cmp byte [ebp - 9], 0
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x47abab.0
jmp dword [eax*4 + 0x47abb2]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x47ac5a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0046de14
cmp byte [ebp - 9], 0
je 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bccc
cmp dword [ebp - 0x2c], 0
je 0x47ac6f
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 9], 0
je 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47aca9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x47bcbf
mov dl, 1
mov eax, dword [0x46a79c]
call fcn.00405438
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.00478758
test al, al
jne 0x47ad30
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, ebx
call fcn.00405468
jmp 0x47bccc
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.00478758
test al, al
jne 0x47ad55
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, ebx
call fcn.00405468
jmp 0x47bccc
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.00478758
test al, al
jne 0x47ad7a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, ebx
call fcn.00405468
jmp 0x47bccc
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.00478758
test al, al
jne 0x47ad9f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, ebx
call fcn.00405468
jmp 0x47bccc
cmp dword [ebx + 0x10], 0xffffffff
je 0x47adae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x47adbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x47adcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x47addb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x47adec
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x47ae1f
cmp dword [ebx + 0x14], 0xffffffff
je 0x47adfd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x47ae1f
cmp dword [ebx + 0x18], 0xffffffff
je 0x47ae0e
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x47ae1f
cmp dword [ebx + 0x1c], 0xffffffff
je 0x47ae35
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47ae35
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, ebx
call fcn.00405468
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.0043b0e8
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47ae64
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
jb 0x47af3e
je 0x47b020
dec eax
je 0x47ae9e
dec eax
je 0x47b14a
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x47aeb9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x47aee2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x47af04
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x47bcbf
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00405468
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043b1a0
cmp dword [ebp - 0x38], 0xffffffff
je 0x47af30
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x47af67
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
cmp dword [ebx + 0x10], 0xffffffff
je 0x47af82
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x47bcbf
cmp dword [ebx + 0x18], 0xffffffff
je 0x47af9d
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x47bcbf
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00405468
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043b1a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x47affe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x47bcbf
cmp dword [ebp - 0x38], 0xffffffff
je 0x47b012
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x47b049
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x47b0a6
cmp dword [ebx + 0x14], 0xffffffff
je 0x47b0a6
cmp dword [ebx + 0x14], 0xfffffffe
je 0x47b0a6
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.00406690
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x47bcbf
cmp dword [ebx + 0x18], 0xffffffff
je 0x47b0c1
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x47bcbf
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00405468
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043b1a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x47b128
cmp dword [ebp - 0x2c], 0xffffffff
je 0x47b128
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x47bcbf
cmp dword [ebp - 0x38], 0xffffffff
je 0x47b13c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x47b173
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00405468
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043b1a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x47b1d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x47bcbf
cmp dword [ebp - 0x38], 0xffffffff
je 0x47b1e8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47b22b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x47b243
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x47b275
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.0046bc14
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x47b31a
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x47b2fd
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.0046bbf4
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x11]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1a]
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
call fcn.0046f958
test al, al
jne 0x47b378
cmp byte [ebp - 0x12], 0
je 0x47b2ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0x11]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x47b378
mov eax, dword [ebp - 0x16]
call fcn.0046bbf4
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 0xffffffff
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1a]
call fcn.0046f958
test al, al
jne 0x47b378
cmp byte [ebp - 0x12], 0
je 0x47b369
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47b3c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x47b3de.0
movzx eax, byte [eax + 0x47b3e5]
jmp dword [eax*4 + 0x47b3f7]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x47bcbf
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47b4a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x47b4bf.0
movzx eax, byte [eax + 0x47b4c6]
jmp dword [eax*4 + 0x47b4d8]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x47bcbf
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 9], 0
je 0x47b589
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x47b5a1
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 0x12], 0
je 0x47b5d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x47b5fe
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
jmp 0x47bcbf
mov eax, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
jmp 0x47bcbf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x47b654
cmp byte [ebp - 9], 0
je 0x47b645
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x47b66d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486958
cmp dword [ebp - 0x2c], 0
jne 0x47b6a7
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x47b6a7
mov eax, dword [ebp - 0x11]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.004853a4
test al, al
je 0x47bccc
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x47b6c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x47b6cf
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x4670f0]
jne 0x47b8d4
xor eax, eax
push ebp
push 0x47b750
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x47b743
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x47b736
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0046de14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bccc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486a0c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x47b96d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x23]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
cmp byte [ebp - 0x1b], 0
je 0x47ba57
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x47b9bc
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x47b9c9
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x47ba17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47ba48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0046de14
jmp 0x47bccc
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
je 0x47bccc
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0047770c
test al, al
jne 0x47bb37
cmp byte [ebp - 0x12], 0
je 0x47bccc
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x47baa2
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x47baaf
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x47bafd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bccc
mov eax, dword [ebp - 0x23]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x1f]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 4]
call fcn.004710b8
cmp byte [ebp - 9], 0
je 0x47bc06
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x47bb7a
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x47bb87
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x47bbd5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bc06
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
cmp byte [ebp - 0x12], 0
je 0x47bcbf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x47bc27
and eax, 0x7f
bt dword [0x47bd60], eax
jae 0x47bc34
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0046b960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x47bc82
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0043b078
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x47bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00486604
jmp 0x47bcbf
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0046de14
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4798f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x47bce5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4798ed
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x47bd2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x47bd0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486958
dec esi
cmp esi, 0xffffffff
jne 0x47bcfd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00486634
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x47bd2a
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bd56
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.00406660
ret