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

Disassembly:
sub esp, 0x114
push ebx
push ebp
mov ebp, dword [esp + 0x120]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], ebx
cmp byte [ebp + 0x444], bl
jne 0x47dda5
test edi, edi
je 0x47dda5
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
push dword [esp + 0x130]
lea eax, [esp + 0x24]
push dword [esp + 0x130]
push eax
call fcn.0047f620
add esp, 0xc
test eax, eax
je 0x47ddd3
pop edi
pop ebp
mov eax, 0x3c
pop ebx
add esp, 0x114
ret
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.0047f930
mov esi, eax
add esp, 4
test esi, esi
je case.0x47ee47.7
cmp byte [ebp + 0x444], bl
je 0x47de14
push esi
push 0x49bc1c
push edi
push ebp
call fcn.00446240
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47f2f6
test edi, edi
jne 0x47de28
push esi
push edi
push 0x49bc24
push ebp
call fcn.0044b7f0
add esp, 0x10
push esi
call dword [0x4a4020]
lea eax, [esp + 0x78]
push eax
call fcn.0047f930
mov esi, eax
add esp, 8
test esi, esi
je case.0x47ee47.7
cmp byte [ebp + 0x444], 0
je 0x47de65
push esi
push 0x49bc34
push edi
push ebp
call fcn.00446240
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x47de78
push esi
push 0x49bc3c
push ebp
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebx, ebx
jne 0x47deea
mov ecx, dword [esp + 0x38]
xor esi, esi
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x47dea1
movzx eax, byte [ecx]
inc ecx
shl esi, 8
or esi, eax
cmp ecx, edx
jb 0x47de94
cmp byte [ebp + 0x444], 0
je 0x47defe
push esi
push 0x49983c
call fcn.0043a3d0
mov edi, eax
add esp, 8
test edi, edi
je case.0x47ee47.7
mov ebx, dword [esp + 0x12c]
push edi
push 0x49bc4c
push ebx
push ebp
call fcn.00446240
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call dword [0x4a4020]
add esp, 0x14
test ebx, ebx
je 0x47def7
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x47df15
push esi
lea eax, [esi + 1]
push eax
push 0x49bc54
push ebp
call fcn.0044b7f0
add esp, 0x10
cmp byte [esp + 0x52], 0
jne case.0x47ee47.7
movzx ebx, byte [esp + 0x51]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x47ee47.7
movzx eax, byte [eax + 0x47f490]
mov ebp, 0x48d37d
mov edx, 0x491b58
jmp dword [eax*4 + 0x47f468]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
sub eax, ecx
cmp eax, 1
je 0x47df5f
xor esi, esi
jmp 0x47e335
cmp byte [ecx], 0
mov eax, 0x491b50
cmove eax, edx
push eax
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47e335
mov esi, dword [esp + 0x4c]
mov eax, esi
mov edx, dword [esp + 0x48]
sub eax, edx
jne 0x47df90
xor esi, esi
jmp 0x47e335
cmp eax, 4
jbe 0x47dfa6
push esi
push edx
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e335
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x47dfb0
cmp ecx, 0xa
mov eax, 0x49bae8
push ecx
cmovb eax, ebp
push eax
push str._s_x
call fcn.0043a3d0
add esp, 0xc
mov esi, eax
jmp 0x47e335
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
jbe 0x47dff2
xor esi, esi
jmp 0x47e335
push ecx
push eax
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e335
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e335
push 0x48d37d
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47e335
push 1
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.0047f990
add esp, 0xc
mov esi, eax
jmp 0x47e335
mov esi, dword [esp + 0x48]
mov ecx, esi
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x47e063
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47e063
inc ecx
cmp ecx, edx
jb 0x47e056
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x47e07b
sub eax, 2
je 0x47e080
xor esi, esi
jmp 0x47e335
mov edi, 0x49bb28
cmp ecx, edx
jb 0x47e08b
xor esi, esi
jmp 0x47e335
cmp byte [ecx], 0x5a
jne 0x47e09c
mov ecx, 0x49bb2c
mov edx, 0x49bb2f
jmp 0x47e09d
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push 0x49bb30
call fcn.0043a3d0
add esp, 0x28
mov esi, eax
jmp 0x47e335
mov ebp, dword [esp + 0x48]
mov esi, 0x48d37d
mov edi, dword [esp + 0x4c]
mov ecx, ebp
cmp ecx, edi
jae 0x47e0f3
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47e0f3
inc ecx
cmp ecx, edi
jb 0x47e0e6
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x47e121
sub eax, 1
je 0x47e11c
sub eax, 1
je 0x47e115
xor esi, esi
jmp 0x47e335
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x47e123
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x47e182
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x47e137
cmp bl, 0x2c
jne 0x47e167
inc ecx
inc eax
cmp eax, edi
jae 0x47e149
mov dl, byte [eax]
cmp dl, 0x30
jl 0x47e149
cmp dl, 0x39
jle 0x47e138
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x47e167
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x47e162
dec esi
sub edx, 1
jne 0x47e157
mov esi, 0x48d37d
cmp eax, edi
jae 0x47e182
cmp byte [eax], 0x5a
jne 0x47e17c
mov eax, 0x49baf4
mov edi, 0x49baf8
jmp 0x47e182
mov esi, 0x48da88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x48d37d
mov eax, 0x48d3a4
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push 0x49bafc
call fcn.0043a3d0
add esp, 0x38
mov esi, eax
jmp 0x47e335
mov edi, dword [esp + 0x4c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x48]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x47e1ee.13
movzx eax, byte [eax + 0x47f4c0]
jmp dword [eax*4 + 0x47f4b0]
mov ecx, 2
jmp 0x47e201
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x47e1ee.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x47e1ee.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4a401c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x47e1ee.13
cmp ebx, 0xc
jne 0x47e25a
test edi, edi
je 0x47e251
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x47e32e
xor edi, edi
cmp esi, dword [esp + 0x4c]
jae 0x47e251
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x47e281
sub eax, 2
jne 0x47e28a
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x47e308
cmp ecx, 0x800
jb 0x47e2f0
cmp ecx, 0x10000
jb 0x47e2d4
cmp ecx, 0x200000
jae 0x47e31f
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x47e2dc
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x47e2f3
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x47e30b
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x4c]
jb 0x47e262
mov byte [edi + ebp], 0
jmp 0x47e32e
push ebp
call dword [0x4a4020]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
test esi, esi
je case.0x47ee47.7
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
cmp byte [edi + 0x444], 0
je 0x47e36c
push esi
push 0x49bc6c
push ebx
push edi
call fcn.00446240
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x47e370
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x47e383
push esi
push 0x49bc7c
push edi
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
push dword [esp + 0x5c]
lea eax, [esp + 0x118]
push dword [esp + 0x5c]
push eax
call fcn.00480380
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x47ee47.7
cmp byte [edi + 0x444], 0
je 0x47e3d6
push esi
push 0x49bc94
push ebx
push edi
call fcn.00446240
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x47e3e9
push esi
push 0x49bca8
push edi
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
cmp byte [esp + 0x92], 0
jne case.0x47ee47.7
movzx ebx, byte [esp + 0x91]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x47ee47.7
movzx eax, byte [eax + 0x47f4fc]
jmp dword [eax*4 + 0x47f4d4]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
sub eax, ecx
cmp eax, 1
je 0x47e447
xor esi, esi
jmp 0x47e866
cmp byte [ecx], 0
mov eax, 0x491b50
mov ecx, 0x491b58
cmove eax, ecx
push eax
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47e866
mov esi, dword [esp + 0x8c]
mov eax, esi
mov edx, dword [esp + 0x88]
sub eax, edx
jne 0x47e483
xor esi, esi
jmp 0x47e866
cmp eax, 4
jbe 0x47e499
push esi
push edx
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e866
movsx ecx, byte [edx]
sar ecx, 0x1f
nop
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x47e4a0
push ecx
cmp ecx, 0xa
mov eax, 0x49bae8
mov ecx, 0x48d37d
cmovb eax, ecx
push eax
push str._s_x
call fcn.0043a3d0
add esp, 0xc
mov esi, eax
jmp 0x47e866
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
inc eax
cmp eax, ecx
jbe 0x47e4ed
xor esi, esi
jmp 0x47e866
push ecx
push eax
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e866
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47e866
push 0x48d37d
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47e866
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
call fcn.0047f990
add esp, 0xc
mov esi, eax
jmp 0x47e866
mov esi, dword [esp + 0x88]
mov ecx, esi
mov edx, dword [esp + 0x8c]
cmp ecx, edx
jae 0x47e570
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47e570
inc ecx
cmp ecx, edx
jb 0x47e563
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x47e588
sub eax, 2
je 0x47e58d
xor esi, esi
jmp 0x47e85f
mov edi, 0x49bb28
cmp ecx, edx
jb 0x47e598
xor esi, esi
jmp 0x47e85f
cmp byte [ecx], 0x5a
jne 0x47e5a9
mov ecx, 0x49bb2c
mov edx, 0x49bb2f
jmp 0x47e5aa
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push 0x49bb30
call fcn.0043a3d0
add esp, 0x28
mov esi, eax
jmp 0x47e85f
mov ebp, dword [esp + 0x88]
mov esi, 0x48d37d
mov edi, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, edi
jae 0x47e60d
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47e60d
inc ecx
cmp ecx, edi
jb 0x47e600
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x47e63b
sub eax, 1
je 0x47e636
sub eax, 1
je 0x47e62f
xor esi, esi
jmp 0x47e85b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x47e63d
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x47e69c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x47e651
cmp bl, 0x2c
jne 0x47e681
inc ecx
inc eax
cmp eax, edi
jae 0x47e663
mov dl, byte [eax]
cmp dl, 0x30
jl 0x47e663
cmp dl, 0x39
jle 0x47e652
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x47e681
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x47e67c
dec esi
sub edx, 1
jne 0x47e671
mov esi, 0x48d37d
cmp eax, edi
jae 0x47e69c
cmp byte [eax], 0x5a
jne 0x47e696
mov eax, 0x49baf4
mov edi, 0x49baf8
jmp 0x47e69c
mov esi, 0x48da88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x48d37d
mov eax, 0x48d3a4
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push 0x49bafc
call fcn.0043a3d0
add esp, 0x38
mov esi, eax
jmp 0x47e85b
mov edi, dword [esp + 0x8c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x88]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x47e70e.13
movzx eax, byte [eax + 0x47f52c]
jmp dword [eax*4 + 0x47f51c]
mov ecx, 2
jmp 0x47e721
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x47e70e.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x47e70e.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4a401c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x47e70e.13
cmp ebx, 0xc
jne 0x47e77a
test edi, edi
je 0x47e771
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x47e854
xor edi, edi
cmp esi, dword [esp + 0x8c]
jae 0x47e771
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x47e7a4
sub eax, 2
jne 0x47e7ad
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x47e82b
cmp ecx, 0x800
jb 0x47e813
cmp ecx, 0x10000
jb 0x47e7f7
cmp ecx, 0x200000
jae 0x47e845
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x47e7ff
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x47e816
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x47e82e
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x8c]
jb 0x47e785
mov byte [edi + ebp], 0
jmp 0x47e854
push ebp
call dword [0x4a4020]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x47ee47.7
cmp byte [edi + 0x444], 0
mov ebx, dword [esp + 0x12c]
je 0x47e894
push esi
push 0x49bcc4
push ebx
push edi
call fcn.00446240
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x47e8a7
push esi
push 0x49bcd0
push edi
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
cmp byte [esp + 0xa2], 0
jne case.0x47ee47.7
movzx ebx, byte [esp + 0xa1]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x47ee47.7
movzx eax, byte [eax + 0x47f568]
jmp dword [eax*4 + 0x47f540]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
sub eax, ecx
cmp eax, 1
je 0x47e905
xor esi, esi
jmp 0x47ed26
cmp byte [ecx], 0
mov eax, 0x491b50
mov ecx, 0x491b58
cmove eax, ecx
push eax
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47ed26
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
jne 0x47e941
xor esi, esi
jmp 0x47ed26
cmp eax, 4
jbe 0x47e957
push esi
push edx
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47ed26
movsx ecx, byte [edx]
sar ecx, 0x1f
nop dword [eax]
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x47e960
push ecx
cmp ecx, 0xa
mov eax, 0x49bae8
mov ecx, 0x48d37d
cmovb eax, ecx
push eax
push str._s_x
call fcn.0043a3d0
add esp, 0xc
mov esi, eax
jmp 0x47ed26
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
inc eax
cmp eax, ecx
jbe 0x47e9ad
xor esi, esi
jmp 0x47ed26
push ecx
push eax
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47ed26
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47ed26
push 0x48d37d
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47ed26
push 1
push dword [esp + 0xa0]
push dword [esp + 0xa0]
call fcn.0047f990
add esp, 0xc
mov esi, eax
jmp 0x47ed26
mov esi, dword [esp + 0x98]
mov ecx, esi
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jae 0x47ea30
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47ea30
inc ecx
cmp ecx, edx
jb 0x47ea23
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x47ea48
sub eax, 2
je 0x47ea4d
xor esi, esi
jmp 0x47ed1f
mov edi, 0x49bb28
cmp ecx, edx
jb 0x47ea58
xor esi, esi
jmp 0x47ed1f
cmp byte [ecx], 0x5a
jne 0x47ea69
mov ecx, 0x49bb2c
mov edx, 0x49bb2f
jmp 0x47ea6a
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push 0x49bb30
call fcn.0043a3d0
add esp, 0x28
mov esi, eax
jmp 0x47ed1f
mov ebp, dword [esp + 0x98]
mov esi, 0x48d37d
mov edi, dword [esp + 0x9c]
mov ecx, ebp
cmp ecx, edi
jae 0x47eacd
nop dword [eax]
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47eacd
inc ecx
cmp ecx, edi
jb 0x47eac0
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x47eafb
sub eax, 1
je 0x47eaf6
sub eax, 1
je 0x47eaef
xor esi, esi
jmp 0x47ed1b
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x47eafd
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x47eb5c
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x47eb11
cmp bl, 0x2c
jne 0x47eb41
inc ecx
inc eax
cmp eax, edi
jae 0x47eb23
mov dl, byte [eax]
cmp dl, 0x30
jl 0x47eb23
cmp dl, 0x39
jle 0x47eb12
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x47eb41
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x47eb3c
dec esi
sub edx, 1
jne 0x47eb31
mov esi, 0x48d37d
cmp eax, edi
jae 0x47eb5c
cmp byte [eax], 0x5a
jne 0x47eb56
mov eax, 0x49baf4
mov edi, 0x49baf8
jmp 0x47eb5c
mov esi, 0x48da88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x48d37d
mov eax, 0x48d3a4
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push 0x49bafc
call fcn.0043a3d0
add esp, 0x38
mov esi, eax
jmp 0x47ed1b
mov edi, dword [esp + 0x9c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x98]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x47ebce.13
movzx eax, byte [eax + 0x47f598]
jmp dword [eax*4 + 0x47f588]
mov ecx, 2
jmp 0x47ebe1
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x47ebce.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x47ebce.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4a401c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x47ebce.13
cmp ebx, 0xc
jne 0x47ec3a
test edi, edi
je 0x47ec31
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x47ed14
xor edi, edi
cmp esi, dword [esp + 0x9c]
jae 0x47ec31
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x47ec64
sub eax, 2
jne 0x47ec6d
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x47eceb
cmp ecx, 0x800
jb 0x47ecd3
cmp ecx, 0x10000
jb 0x47ecb7
cmp ecx, 0x200000
jae 0x47ed05
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x47ecbf
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x47ecd6
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x47ecee
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x9c]
jb 0x47ec45
mov byte [edi + ebp], 0
jmp 0x47ed14
push ebp
call dword [0x4a4020]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x47ee47.7
cmp byte [edi + 0x444], 0
mov ebx, dword [esp + 0x12c]
je 0x47ed54
push esi
push 0x49bce4
push ebx
push edi
call fcn.00446240
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x47ed67
push esi
push 0x49bcf0
push edi
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
push dword [esp + 0xcc]
lea eax, [esp + 0x118]
push dword [esp + 0xcc]
push eax
call fcn.00480380
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x47ee47.7
cmp byte [edi + 0x444], 0
je 0x47edc4
push esi
push 0x49bd04
push ebx
push edi
call fcn.00446240
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x47ee12
test ebx, ebx
jne 0x47edd7
push esi
push 0x49bd1c
push edi
call fcn.0044b7f0
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x118]
push eax
push esi
push ebx
push edi
call fcn.0047fb00
add esp, 0x14
test eax, eax
je 0x47ee12
push esi
mov ebp, 0x1b
call dword [0x4a4020]
add esp, 4
mov eax, ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
cmp byte [esp + 0x72], 0
jne case.0x47ee47.7
movzx ebx, byte [esp + 0x71]
lea eax, [ebx - 1]
cmp eax, 0x1d
ja case.0x47ee47.7
movzx eax, byte [eax + 0x47f5d4]
jmp dword [eax*4 + 0x47f5ac]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
cmp eax, 1
je 0x47ee64
xor esi, esi
jmp 0x47f24e
cmp byte [ecx], 0
mov eax, 0x491b50
mov ecx, 0x491b58
cmove eax, ecx
push eax
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47f24e
mov esi, dword [esp + 0x6c]
mov eax, esi
mov edx, dword [esp + 0x68]
sub eax, edx
jne 0x47ee9a
xor esi, esi
jmp 0x47f24e
cmp eax, 4
jbe 0x47eeb0
push esi
push edx
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47f24e
movsx ecx, byte [edx]
sar ecx, 0x1f
movzx eax, byte [edx]
inc edx
shl ecx, 8
or ecx, eax
cmp edx, esi
jb 0x47eeb6
push ecx
cmp ecx, 0xa
mov eax, 0x49bae8
mov ecx, 0x48d37d
cmovb eax, ecx
push eax
push str._s_x
call fcn.0043a3d0
add esp, 0xc
mov esi, eax
jmp 0x47f24e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
inc eax
cmp eax, ecx
jbe 0x47eefd
xor esi, esi
jmp 0x47f24e
push ecx
push eax
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47f24e
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.00481290
add esp, 8
mov esi, eax
jmp 0x47f24e
push 0x48d37d
call dword [0x4a4028]
add esp, 4
mov esi, eax
jmp 0x47f24e
push 1
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0047f990
add esp, 0xc
mov esi, eax
jmp 0x47f24e
mov esi, dword [esp + 0x68]
mov ecx, esi
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x47ef6e
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47ef6e
inc ecx
cmp ecx, edx
jb 0x47ef61
lea edi, [esi + 0xa]
mov eax, ecx
sub eax, edi
sub eax, 0
je 0x47ef86
sub eax, 2
je 0x47ef8b
xor esi, esi
jmp 0x47f247
mov edi, 0x49bb28
cmp ecx, edx
jb 0x47ef96
xor esi, esi
jmp 0x47f247
cmp byte [ecx], 0x5a
jne 0x47efa7
mov ecx, 0x49bb2c
mov edx, 0x49bb2f
jmp 0x47efa8
inc ecx
push ecx
sub edx, ecx
lea eax, [esi + 8]
push edx
push edi
push eax
lea eax, [esi + 6]
push eax
lea eax, [esi + 4]
push eax
lea eax, [esi + 2]
push eax
xor eax, eax
cmp byte [esi], 0x35
push esi
setl al
add eax, 0x13
push eax
push 0x49bb30
call fcn.0043a3d0
add esp, 0x28
mov esi, eax
jmp 0x47f247
mov ebp, dword [esp + 0x68]
mov esi, 0x48d37d
mov edi, dword [esp + 0x6c]
mov ecx, ebp
cmp ecx, edi
jae 0x47effe
mov al, byte [ecx]
sub al, 0x30
cmp al, 9
ja 0x47effe
inc ecx
cmp ecx, edi
jb 0x47eff1
mov eax, ecx
mov byte [esp + 0x13], 0x30
sub eax, ebp
sub eax, 0xc
sub eax, 0
je 0x47f02c
sub eax, 1
je 0x47f027
sub eax, 1
je 0x47f020
xor esi, esi
jmp 0x47f243
mov al, byte [ecx - 2]
mov byte [esp + 0x13], al
mov bh, byte [ecx - 1]
jmp 0x47f02e
mov bh, 0x30
xor edx, edx
mov eax, ecx
cmp ecx, edi
jae 0x47f08d
mov bl, byte [ecx]
cmp bl, 0x2e
je 0x47f042
cmp bl, 0x2c
jne 0x47f072
inc ecx
inc eax
cmp eax, edi
jae 0x47f054
mov dl, byte [eax]
cmp dl, 0x30
jl 0x47f054
cmp dl, 0x39
jle 0x47f043
mov edx, eax
sub edx, ecx
sub edx, 1
je 0x47f072
lea esi, [ecx - 1]
add esi, edx
cmp byte [esi], 0x30
jne 0x47f06d
dec esi
sub edx, 1
jne 0x47f062
mov esi, 0x48d37d
cmp eax, edi
jae 0x47f08d
cmp byte [eax], 0x5a
jne 0x47f087
mov eax, 0x49baf4
mov edi, 0x49baf8
jmp 0x47f08d
mov esi, 0x48da88
inc eax
push eax
sub edi, eax
test edx, edx
push edi
push esi
push ecx
push edx
mov ecx, 0x48d37d
mov eax, 0x48d3a4
cmove eax, ecx
push eax
movsx eax, bh
push eax
movsx eax, byte [esp + 0x2f]
push eax
lea eax, [ebp + 0xa]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 6]
push eax
lea eax, [ebp + 4]
push eax
push ebp
push 0x49bafc
call fcn.0043a3d0
add esp, 0x38
mov esi, eax
jmp 0x47f243
mov edi, dword [esp + 0x6c]
lea eax, [ebx - 0xc]
mov esi, dword [esp + 0x68]
mov ecx, 1
sub edi, esi
mov dword [esp + 0x18], ecx
cmp eax, 0x12
ja case.0x47f0f9.13
movzx eax, byte [eax + 0x47f604]
jmp dword [eax*4 + 0x47f5f4]
mov ecx, 2
jmp 0x47f10c
mov ecx, 4
mov dword [esp + 0x18], ecx
xor edx, edx
mov eax, edi
div ecx
test edx, edx
jne case.0x47f0f9.13
mov eax, edi
div ecx
cmp eax, 0x3fffffff
ja case.0x47f0f9.13
lea eax, [eax*4 + 1]
push eax
call dword [0x4a401c]
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x47f0f9.13
cmp ebx, 0xc
jne 0x47f165
test edi, edi
je 0x47f15c
push edi
push esi
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x47f23c
xor edi, edi
cmp esi, dword [esp + 0x6c]
jae 0x47f15c
nop dword [eax]
mov eax, dword [esp + 0x18]
xor ecx, ecx
sub eax, 2
je 0x47f18f
sub eax, 2
jne 0x47f198
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
add esi, 2
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
inc esi
movzx eax, byte [esi]
mov ebx, 1
shl ecx, 8
inc esi
or ecx, eax
cmp ecx, 0x80
jb 0x47f216
cmp ecx, 0x800
jb 0x47f1fe
cmp ecx, 0x10000
jb 0x47f1e2
cmp ecx, 0x200000
jae 0x47f22d
mov al, cl
lea edx, [edi + ebp]
and al, 0x3f
or ecx, 0x400000
or al, 0x80
mov ebx, 3
mov byte [edx + 3], al
shr ecx, 6
jmp 0x47f1ea
lea edx, [edi + ebp]
mov ebx, 2
mov al, cl
or ecx, 0x20000
and al, 0x3f
or al, 0x80
shr ecx, 6
mov byte [edx + 2], al
jmp 0x47f201
lea edx, [edi + ebp]
mov al, cl
or ecx, 0x3000
and al, 0x3f
shr ecx, 6
or al, 0x80
inc ebx
mov byte [edx + 1], al
jmp 0x47f219
lea edx, [edi + ebp]
add edi, ebx
mov byte [edx], cl
cmp esi, dword [esp + 0x6c]
jb 0x47f170
mov byte [edi + ebp], 0
jmp 0x47f23c
push ebp
call dword [0x4a4020]
add esp, 4
or edi, 0xffffffff
xor ebp, ebp
xor esi, esi
test edi, edi
cmovns esi, ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x128]
test esi, esi
je case.0x47ee47.7
cmp byte [edi + 0x444], 0
mov ebx, dword [esp + 0x12c]
je 0x47f278
push esi
push 0x49bd38
push ebx
push edi
call fcn.00446240
add esp, 0x10
mov ebp, eax
test ebx, ebx
jne 0x47f28b
push esi
push 0x49bd44
push edi
call fcn.0044b7f0
add esp, 0xc
push esi
call dword [0x4a4020]
add esp, 4
test ebp, ebp
jne 0x47f45b
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
sub eax, ecx
push eax
push ecx
call fcn.00460ec0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x47f45b
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x3f]
add ecx, 0x37
shr eax, 6
add eax, ecx
push eax
call dword [0x4a401c]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x47f301
push dword [esp + 0x20]
call dword [0x4a4020]
add esp, 4
mov eax, 0x1b
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, 0x49abf0
lea edx, [ebx + 2]
xor esi, esi
nop dword [eax + eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x47f364
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x47f363
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x47f35e
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x47f359
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x47f310
jmp 0x47f364
add esi, 3
jmp 0x47f364
add esi, 2
jmp 0x47f364
inc esi
mov byte [esi + ebx], 0xa
lea edi, [esi + 1]
xor esi, esi
cmp dword [esp + 0x1c], esi
jbe 0x47f391
mov eax, dword [esp + 0x20]
add eax, esi
push eax
lea eax, [ebx + edi]
push eax
call fcn.0047fa70
add esi, 0x40
add esp, 8
add edi, eax
cmp esi, dword [esp + 0x1c]
jb 0x47f373
lea edx, [ebx + 2]
xor esi, esi
mov ecx, 0x49bd58
add edx, edi
nop dword [eax]
movzx eax, byte [ecx]
mov byte [edx - 2], al
movzx eax, byte [ecx]
test al, al
je 0x47f3f4
movzx eax, byte [ecx + 1]
mov byte [edx - 1], al
movzx eax, byte [ecx + 1]
test al, al
je 0x47f3f3
movzx eax, byte [ecx + 2]
mov byte [edx], al
movzx eax, byte [ecx + 2]
test al, al
je 0x47f3ee
movzx eax, byte [ecx + 3]
mov byte [edx + 1], al
movzx eax, byte [ecx + 3]
add ecx, 4
test al, al
je 0x47f3e9
add esi, 4
add edx, 4
cmp esi, 0x40
jb 0x47f3a0
jmp 0x47f3f4
add esi, 3
jmp 0x47f3f4
add esi, 2
jmp 0x47f3f4
inc esi
lea eax, [ebx + edi]
mov byte [esi + eax], 0xa
lea eax, [esi + ebx]
mov byte [eax + edi + 1], 0
push dword [esp + 0x20]
call dword [0x4a4020]
mov esi, dword [esp + 0x12c]
add esp, 4
cmp byte [esi + 0x444], 0
je 0x47f438
push ebx
push 0x49bd74
push dword [esp + 0x134]
push esi
call fcn.00446240
add esp, 0x10
mov ebp, eax
cmp dword [esp + 0x12c], 0
jne 0x47f451
push ebx
push 0x491750
push esi
call fcn.0044b7f0
add esp, 0xc
push ebx
call dword [0x4a4020]
add esp, 4
pop esi
pop edi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x114
ret