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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x78]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
movzx eax, byte [eax]
and eax, 0x1f
lea eax, [esi + eax*2]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
cmp al, 1
je 0x47da80
cmp al, 2
je 0x47ddb8
xor ecx, ecx
test al, al
sete al
movzx eax, al
mov dword [esp + 0x30], eax
mov eax, 0x5902f5
cmovne eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov ebp, dword [eax + 8]
mov dword [esp], esi
mov ecx, ebp
call fcn.0044cd30
mov ecx, ebp
sub esp, 4
mov edi, edx
mov dword [esp], ebx
mov dword [esp + 0x1c], eax
call fcn.0044cd30
sub esp, 4
sub edx, 1
cmp esi, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
cmove edx, edi
mov ebx, dword [eax + 4]
mov dword [esp + 0x28], edx
cmp dword [ebx + 8], 7
jle 0x47e008
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub edx, eax
cmp edx, 7
jle 0x47de00
lea edx, [eax + 8]
mov dword [ebx + 0xc], edx
mov dword [eax + 4], 0x203a226c
mov dword [eax], 0x6f63227b
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
cmp dword [edx + 8], 0xa
jle 0x47e010
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, eax
cmp ecx, 0xa
jle 0x47de20
lea ecx, [eax + 0xb]
mov ebx, edi
mov dword [edx + 0xc], ecx
test eax, eax
je 0x47e010
test edi, edi
js 0x47de60
test edi, edi
jne 0x47e428
mov byte [eax], 0x30
mov ebx, 0xfffffff6
add dword [edx + 0xc], ebx
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov dword [esp], 0xa
mov dword [esp + 4], str.___lnum_:
call fcn.004711c0
mov edx, dword [esi + 4]
sub esp, 8
cmp dword [edx + 8], 0xa
jle 0x47e070
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, eax
cmp ecx, 0xa
jg 0x47d8cf
mov ecx, dword [edx]
mov dword [esp + 0x38], edx
mov ebx, dword [ecx + 8]
mov ecx, dword [edx + 4]
sub eax, ecx
mov dword [esp + 4], ecx
mov ecx, edx
mov dword [esp], eax
call ebx
sub esp, 8
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 4]
lea ecx, [eax + 0xb]
mov ebx, dword [esp + 0x1c]
mov dword [edx + 0xc], ecx
test eax, eax
je 0x47e070
test ebx, ebx
js 0x47e118
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x47e48d
mov byte [eax], 0x30
mov ebx, 0xfffffff6
add dword [edx + 0xc], ebx
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov dword [esp], 0xd
mov dword [esp + 4], str.___end_col_:
call fcn.004711c0
mov edx, dword [esi + 4]
sub esp, 8
cmp dword [edx + 8], 0xa
jle 0x47e3c0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, eax
cmp ecx, 0xa
jle 0x47e1a0
lea ecx, [eax + 0xb]
mov ebx, dword [esp + 0x28]
mov dword [edx + 0xc], ecx
test eax, eax
je 0x47e3c0
test ebx, ebx
js 0x47e248
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x47e595
mov byte [eax], 0x30
mov ebx, 0xfffffff6
add dword [edx + 0xc], ebx
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov dword [esp], 0xe
mov dword [esp + 4], str.___end_lnum_:
call fcn.004711c0
mov ebp, dword [esi + 4]
sub esp, 8
cmp dword [ebp + 8], 0xa
jle 0x47e42f
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
sub edx, eax
cmp edx, 0xa
jg 0x47d9c1
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
sub eax, ecx
mov edx, dword [edx + 8]
mov dword [esp + 4], ecx
mov ecx, ebp
mov dword [esp], eax
call edx
mov eax, dword [ebp + 4]
sub esp, 8
lea edx, [eax + 0xb]
mov ebx, dword [esp + 0x2c]
mov dword [ebp + 0xc], edx
test eax, eax
je 0x47e42f
test ebx, ebx
js 0x47e494
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x47e61d
mov byte [eax], 0x30
mov edx, 0xfffffff6
add dword [ebp + 0xc], edx
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov dword [esp], 0xb
mov dword [esp + 4], str.___type_:__
call fcn.004711c0
mov ecx, dword [esi + 4]
sub esp, 8
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004711c0
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp], 0xa
mov dword [esp + 4], str.____nr_:__
call fcn.004711c0
mov ecx, dword [esi + 4]
sub esp, 8
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.004711c0
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp], 0x17
mov dword [esp + 4], str.____vcol_:_0___text_:__
call fcn.004711c0
sub esp, 8
lea esi, cs:[esi]
movzx eax, word [esp + 0x7c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
lea eax, [eax + edx*2]
mov eax, dword [eax*4 + 0x562440]
test eax, eax
je 0x47de50
cmp byte [eax + 0x565d10], 0
lea ebp, [eax + 0x565d10]
je 0x47e6fd
lea eax, [ebp + 1]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp byte [esp + 0x18], 1
lea esi, [eax + 1]
je 0x47dcd2
lea eax, [esp + 0x4c]
mov dword [esp + 0x1c], eax
lea esi, [esi]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov dword [esp], ebp
call sub.msvcrt.dll_memchr
mov ebx, eax
test eax, eax
je 0x47dbe9
sub ebx, ebp
mov dword [esp + 0x18], ebx
cmp ebx, 0xffffffff
je 0x47dbe9
lea edi, [ebx + 1]
lea ebx, [ebp + edi]
cmp byte [ebx], 0x7b
je 0x47dfa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp ecx, esi
mov edx, ecx
mov ecx, ebp
cmova edx, esi
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
call fcn.00436980
cmp edi, esi
jae 0x47ddd2
mov ecx, esi
mov dword [esp + 4], 0x7d
sub ecx, edi
mov dword [esp], ebx
mov edi, 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp + 0x20], ecx
call sub.msvcrt.dll_memchr
mov ecx, dword [esp + 0x20]
mov edx, eax
sub edx, ebp
test eax, eax
mov eax, dword [esp + 0x18]
cmovne edi, edx
mov edx, edi
sub edx, eax
sub edx, 1
cmp edx, ecx
cmova edx, ecx
cmp edx, 1
jne 0x47def0
movzx eax, byte [ebx]
cmp eax, 0x30
jne 0x47df50
mov eax, dword [esp + 0x80]
movzx eax, byte [eax]
mov ecx, eax
mov ebx, dword [esp + 0x84]
shr al, 5
and ecx, 0x1f
lea ecx, [ebx + ecx*2]
cmp al, 3
je 0x47df90
cmp al, 5
jne 0x47dbbe
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov eax, dword [esp + 0x14]
add edi, 1
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
call fcn.00436980
cmp esi, edi
jb 0x47ddda
sub esi, edi
add ebp, edi
test esi, esi
jne 0x47dad8
mov edi, dword [esp + 0x14]
mov edx, esi
mov ecx, ebp
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
call fcn.00436980
mov ebx, dword [edi + 4]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub edx, eax
test edx, edx
jg 0x47dc2b
mov edx, dword [ebx]
mov ecx, ebx
mov esi, dword [edx + 8]
mov edx, dword [ebx + 4]
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call esi
mov eax, dword [ebx + 4]
sub esp, 8
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
mov byte [eax], 0x22
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x47e0d8
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x47e350
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub edx, eax
test edx, edx
jg 0x47dc80
mov edx, dword [ebx]
mov ecx, ebx
mov esi, dword [edx + 8]
mov edx, dword [ebx + 4]
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call esi
mov eax, dword [ebx + 4]
sub esp, 8
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
mov byte [eax], 0x7d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
call fcn.00471300
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x18
movzx eax, dl
cmp dl, 0x30
je 0x47dcbb
cmp eax, 0x31
je 0x47dcbb
cmp eax, 0x32
je 0x47dcbb
cmp eax, 0x33
jne case.default.0x47c6fb
mov edi, dword [esp + 0x18]
add edi, 1
cmp esi, edi
jb 0x47ddda
sub esi, edi
add ebp, edi
test esi, esi
je 0x47dc95
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov dword [esp], ebp
call sub.msvcrt.dll_memchr
mov ebx, eax
test eax, eax
je 0x47dc95
sub ebx, ebp
cmp ebx, 0xffffffff
je 0x47dc95
lea eax, [ebx + 1]
lea edi, [ebp + eax]
movzx edx, byte [edi]
cmp dl, 0x7b
je 0x47dff0
mov byte [esp + 0x1c], dl
cmp eax, esi
jae 0x47ddd0
mov ecx, esi
mov dword [esp + 4], 0x7d
sub ecx, eax
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 0x20], ecx
call sub.msvcrt.dll_memchr
mov ecx, dword [esp + 0x20]
mov edx, eax
sub edx, ebp
test eax, eax
mov eax, edx
mov edx, 0xffffffff
cmove eax, edx
movzx edx, byte [esp + 0x1c]
mov dword [esp + 0x18], eax
sub eax, ebx
sub eax, 1
cmp eax, ecx
cmova eax, ecx
cmp eax, 1
je 0x47dca0
cmp eax, 0xc
jne 0x47e64e
mov eax, dword [edi]
mov edx, dword [edi + 4]
xor eax, 0x65683a31
xor edx, 0x696c6461
or eax, edx
jne case.default.0x47c6fb
cmp dword [edi + 8], 0x6573656e
jne case.default.0x47c6fb
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0047c680
sub esp, 8
jmp 0x47dcbb
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0x5902f7
jmp 0x47d7bb
mov edi, eax
cmp esi, edi
jae case.default.0x47c6fb
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5902a8
mov dword [esp], 0x5902c4
call fcn.0054ad90
lea esi, cs:[esi]
nop
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
sub eax, ecx
mov edx, dword [edx + 8]
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp], eax
call edx
mov eax, dword [ebx + 4]
sub esp, 8
jmp 0x47d814
mov ecx, dword [edx]
mov dword [esp + 0x38], edx
mov ebx, dword [ecx + 8]
mov ecx, dword [edx + 4]
sub eax, ecx
mov dword [esp + 4], ecx
mov ecx, edx
mov dword [esp], eax
call ebx
sub esp, 8
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 4]
jmp 0x47d849
mov eax, dword [edx*8 + 0x562454]
jmp 0x47daa0
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x38], edx
mov ebp, esi
mov edi, 0xcccccccd
mov dword [esp + 0x3c], eax
lea esi, cs:[esi]
nop
mov eax, ebx
mul edi
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
add edx, 0x30
lea ebp, [ebp + 1]
mov byte [ebp - 1], dl
cmp eax, 9
ja 0x47de80
mov eax, dword [esp + 0x3c]
mov ebx, ebp
mov edx, dword [esp + 0x38]
sub ebx, eax
sub ebx, 0xb
cmp ebp, esi
je 0x47d871
cmp esi, ecx
jae 0x47d871
mov edi, edx
lea esi, cs:[esi]
nop
movzx eax, byte [esi]
movzx edx, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], dl
mov byte [ecx + 1], al
cmp esi, ecx
jb 0x47ded0
mov edx, edi
jmp 0x47d871
cmp edx, 0xc
jne 0x47e6a1
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
xor eax, 0x65683a31
xor edx, 0x696c6461
or eax, edx
jne case.default.0x47c6fb
cmp dword [ebx + 8], 0x6573656e
jne case.default.0x47c6fb
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0047c680
mov ecx, edx
sub esp, 8
mov edx, eax
jmp 0x47dbbe
cmp eax, 0x31
je 0x47dfd8
cmp eax, 0x32
jne 0x47df70
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + 2]
jmp 0x47db9b
cmp eax, 0x33
jne case.default.0x47c6fb
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + 3]
jmp 0x47db9b
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
sub edx, ecx
jmp 0x47dbbe
mov eax, dword [esp + 0x14]
cmp edi, esi
mov ecx, ebp
cmova edi, esi
mov eax, dword [eax + 4]
mov edx, edi
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
call fcn.00436980
mov ebx, dword [esp + 0x18]
add ebx, 2
cmp esi, ebx
jb 0x47e632
sub esi, ebx
add ebp, ebx
jmp 0x47dbe1
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + 1]
jmp 0x47db9b
add ebx, 2
cmp esi, ebx
jb 0x47e632
sub esi, ebx
add ebp, ebx
jmp 0x47dcce
xor eax, eax
jmp 0x47d81a
mov ecx, edx
mov dword [esp + 0x38], edx
mov esi, edi
call fcn.00471300
mov dword [esp], 0xb
call fcn.0054fb50
test edi, edi
mov edx, dword [esp + 0x38]
js 0x47e2d0
test edi, edi
jne 0x47e50b
mov byte [eax], 0x30
mov ecx, 1
mov ebx, dword [edx]
mov dword [esp + 0x38], eax
mov ebx, dword [ebx + 8]
mov dword [esp], ecx
mov ecx, edx
mov dword [esp + 4], eax
call ebx
sub esp, 8
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0054fb20
jmp 0x47d874
mov ecx, edx
mov dword [esp + 0x38], edx
call fcn.00471300
mov dword [esp], 0xb
call fcn.0054fb50
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
test esi, esi
js 0x47e1d0
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0x47e59c
mov byte [eax], 0x30
mov esi, 1
mov ecx, dword [edx]
mov dword [esp + 0x1c], eax
mov ebx, dword [ecx + 8]
mov dword [esp], esi
mov ecx, edx
mov dword [esp + 4], eax
call ebx
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0054fb20
jmp 0x47d900
mov ecx, dword [eax + 4]
mov dword [esp], 0xb
mov esi, eax
mov dword [esp + 4], str.___bufnr_:
call fcn.004711c0
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
sub esp, 8
mov ecx, dword [esi + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004711c0
sub esp, 8
jmp 0x47dc43
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x1c], eax
mov ebp, esi
mov edi, 0xcccccccd
mov dword [esp + 0x38], edx
nop
mov eax, ebx
mul edi
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
add edx, 0x30
lea ebp, [ebp + 1]
mov byte [ebp - 1], dl
cmp eax, 9
ja 0x47e130
mov eax, dword [esp + 0x1c]
mov ebx, ebp
mov edx, dword [esp + 0x38]
sub ebx, eax
sub ebx, 0xb
cmp esi, ebp
je 0x47d8fd
cmp esi, ecx
jae 0x47d8fd
mov edi, edx
lea esi, cs:[esi]
nop
movzx eax, byte [esi]
movzx edx, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], dl
mov byte [ecx + 1], al
cmp esi, ecx
jb 0x47e180
mov edx, edi
jmp 0x47d8fd
mov ecx, dword [edx]
mov dword [esp + 0x1c], edx
mov ebx, dword [ecx + 8]
mov ecx, dword [edx + 4]
sub eax, ecx
mov dword [esp + 4], ecx
mov ecx, edx
mov dword [esp], eax
call ebx
sub esp, 8
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
jmp 0x47d93c
mov byte [eax], 0x2d
lea edi, [eax + 1]
neg esi
mov dword [esp + 0x1c], edx
mov ebp, edi
mov ecx, eax
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
mov ebx, edx
mov edx, esi
add eax, eax
sub edx, eax
mov eax, esi
mov esi, ebx
mov ebx, ebp
add edx, 0x30
lea ebp, [ebp + 1]
mov byte [ebp - 1], dl
cmp eax, 9
ja 0x47e1e0
mov esi, ebp
mov edx, dword [esp + 0x1c]
mov eax, ecx
sub esi, ecx
cmp edi, ebp
je 0x47e0ab
cmp edi, ebx
jae 0x47e0ab
mov ebp, ecx
lea esi, [esi]
movzx ecx, byte [edi]
movzx eax, byte [ebx]
add edi, 1
sub ebx, 1
mov byte [edi - 1], al
mov byte [ebx + 1], cl
cmp edi, ebx
jb 0x47e228
mov eax, ebp
jmp 0x47e0ab
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x1c], edx
mov ebp, esi
mov edi, 0xcccccccd
mov dword [esp + 0x28], eax
nop
mov eax, ebx
mul edi
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, ebp
add edx, 0x30
lea ebp, [ebp + 1]
mov byte [ebp - 1], dl
cmp eax, 9
ja 0x47e260
mov eax, dword [esp + 0x28]
mov ebx, ebp
mov edx, dword [esp + 0x1c]
sub ebx, eax
sub ebx, 0xb
cmp esi, ebp
je 0x47d96a
cmp esi, ecx
jae 0x47d96a
mov edi, edx
lea esi, cs:[esi]
nop
movzx eax, byte [esi]
movzx edx, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], dl
mov byte [ecx + 1], al
cmp esi, ecx
jb 0x47e2b0
mov edx, edi
jmp 0x47d96a
mov byte [eax], 0x2d
lea edi, [eax + 1]
neg esi
mov dword [esp + 0x38], edx
mov ebp, edi
mov ecx, eax
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
mov ebx, edx
mov edx, esi
add eax, eax
sub edx, eax
mov eax, esi
mov esi, ebx
mov ebx, ebp
add edx, 0x30
lea ebp, [ebp + 1]
mov byte [ebp - 1], dl
cmp eax, 9
ja 0x47e2e0
mov eax, ecx
mov ecx, ebp
mov edx, dword [esp + 0x38]
sub ecx, eax
cmp ebp, edi
je 0x47e045
cmp edi, ebx
jae 0x47e045
mov ebp, edx
mov esi, eax
lea esi, cs:[esi]
nop
movzx eax, byte [edi]
movzx edx, byte [ebx]
add edi, 1
sub ebx, 1
mov byte [edi - 1], dl
mov byte [ebx + 1], al
cmp edi, ebx
jb 0x47e330
mov edx, ebp
mov eax, esi
jmp 0x47e045
mov ecx, dword [eax + 4]
mov dword [esp], 0xf
mov esi, eax
mov dword [esp + 4], str.___filename_:__
call fcn.004711c0
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
sub esp, 8
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
call fcn.00436980
mov ebx, dword [esi + 4]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub eax, edx
test eax, eax
jg 0x47e3ac
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [eax + 8]
mov eax, dword [ebx + 4]
sub edx, eax
mov dword [esp + 4], eax
mov dword [esp], edx
call esi
mov edx, dword [ebx + 4]
sub esp, 8
lea eax, [edx + 1]
mov dword [ebx + 0xc], eax
mov byte [edx], 0x22
jmp 0x47dc52
mov ecx, edx
mov dword [esp + 0x1c], edx
call fcn.00471300
mov dword [esp], 0xb
call fcn.0054fb50
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
test ebx, ebx
js 0x47e512
mov ebp, dword [esp + 0x28]
test ebp, ebp
jne 0x47e624
mov byte [eax], 0x30
mov ebp, 1
mov ecx, dword [edx]
mov dword [esp + 0x1c], eax
mov ebx, dword [ecx + 8]
mov dword [esp], ebp
mov ecx, edx
mov dword [esp + 4], eax
call ebx
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0054fb20
jmp 0x47d96d
mov esi, eax
jmp 0x47de68
mov ecx, ebp
call fcn.00471300
mov dword [esp], 0xb
call fcn.0054fb50
mov ebx, dword [esp + 0x2c]
mov edx, eax
test ebx, ebx
js 0x47e5a3
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x47e62b
mov byte [eax], 0x30
mov ebx, 1
mov eax, dword [ebp]
mov dword [esp + 0x1c], edx
mov ecx, ebp
mov eax, dword [eax + 8]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
sub esp, 8
mov edx, dword [esp + 0x1c]
mov dword [esp], edx
call fcn.0054fb20
jmp 0x47d9f2
mov esi, eax
jmp 0x47e120
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x1c], ebp
mov edi, esi
mov ebp, eax
lea esi, [esi]
mov eax, 0xcccccccd
mul ebx
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, edi
add edx, 0x30
lea edi, [edi + 1]
mov byte [edi - 1], dl
cmp eax, 9
ja 0x47e4a8
mov eax, ebp
mov edx, edi
mov ebp, dword [esp + 0x1c]
sub edx, eax
sub edx, 0xb
cmp edi, esi
jne 0x47e502
jmp 0x47d9ef
movzx eax, byte [esi]
movzx ebx, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], bl
mov byte [ecx + 1], al
cmp esi, ecx
jb 0x47e4f0
jmp 0x47d9ef
mov edi, eax
jmp 0x47e2d8
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x1c], edx
mov edi, esi
mov ebp, 0xcccccccd
mov dword [esp + 0x28], eax
lea esi, [esi]
mov eax, ebx
mul ebp
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, edi
add edx, 0x30
lea edi, [edi + 1]
mov byte [edi - 1], dl
cmp eax, 9
ja 0x47e530
mov eax, dword [esp + 0x28]
mov ebp, edi
mov edx, dword [esp + 0x1c]
sub ebp, eax
cmp esi, edi
je 0x47e3fb
cmp esi, ecx
jae 0x47e3fb
mov edi, eax
lea esi, [esi]
movzx ebx, byte [esi]
movzx eax, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], al
mov byte [ecx + 1], bl
cmp esi, ecx
jb 0x47e578
mov eax, edi
jmp 0x47e3fb
mov esi, eax
jmp 0x47e250
mov edi, eax
jmp 0x47e1d8
mov byte [eax], 0x2d
lea esi, [eax + 1]
neg ebx
mov dword [esp + 0x1c], esi
mov edi, esi
mov esi, edx
lea esi, cs:[esi]
mov eax, 0xcccccccd
mul ebx
shr edx, 3
lea eax, [edx + edx*4]
mov ecx, edx
mov edx, ebx
add eax, eax
sub edx, eax
mov eax, ebx
mov ebx, ecx
mov ecx, edi
add edx, 0x30
lea edi, [edi + 1]
mov byte [edi - 1], dl
cmp eax, 9
ja 0x47e5b8
mov edx, esi
mov esi, dword [esp + 0x1c]
mov ebx, edi
sub ebx, edx
cmp edi, esi
je 0x47e464
cmp esi, ecx
jae 0x47e464
mov edi, edx
lea esi, [esi]
movzx eax, byte [esi]
movzx edx, byte [ecx]
add esi, 1
sub ecx, 1
mov byte [esi - 1], dl
mov byte [ecx + 1], al
cmp esi, ecx
jb 0x47e600
mov edx, edi
jmp 0x47e464
mov esi, eax
jmp 0x47e49c
mov esi, eax
jmp 0x47e51a
mov esi, eax
jmp 0x47e5ab
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x5902a8
mov dword [esp], 0x5902c4
call fcn.0054ad90
cmp eax, 0xa
jne 0x47e6f8
mov eax, dword [edi]
mov edx, dword [edi + 4]
xor eax, 0x69733a31
xor edx, 0x6c75676e
or eax, edx
jne case.default.0x47c6fb
cmp word [edi + 8], 0x7261
jne case.default.0x47c6fb
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0047c960
sub esp, 8
jmp 0x47dcbb
cmp edx, 0xa
jne case.default.0x47c6fb
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
xor eax, 0x69733a31
xor edx, 0x6c75676e
or eax, edx
jne case.default.0x47c6fb
cmp word [ebx + 8], 0x7261
jne case.default.0x47c6fb
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.0047c960
mov ecx, edx
sub esp, 8
mov edx, eax
jmp 0x47dbbe
jmp case.default.0x47c6fb
cmp byte [esp + 0x18], 1
je 0x47dc95
lea eax, [esp + 0x4c]
xor esi, esi
mov dword [esp + 0x1c], eax
jmp 0x47dbe9