Function at 0x47abc0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x96c07c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
push ebx
xor ebx, ebx
mov dword [ebp - 0x60], 0
push esi
mov esi, ecx
mov dword [ebp - 0x88], ebx
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x30], ebx
mov ebx, dword [eax + 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x7c], ecx
xor ecx, ecx
mov dword [ebp - 0x80], ecx
push edi
mov ecx, dword [eax + 0x24]
mov edi, edx
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x6c], eax
mov eax, edi
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x50], eax
mov eax, edi
shr eax, 2
and eax, 1
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x8c], 0
test cl, 8
je 0x47ac72
mov dword [ebx], 0x80090000
jmp 0x47ac7d
test cl, 4
je 0x47ac8a
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov dword [ebp - 0x20], ebx
test edi, 0x2000000
je 0x47ad70
cmp esi, eax
jae 0x47d1f6
nop
cmp ebx, dword [ebp - 0x7c]
jae 0x47ad66
movzx ecx, word [esi]
mov edx, esi
add esi, 2
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x50], 0
je 0x47acea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47ace7
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x74], 0
je 0x47ad51
cmp dword [ebp - 0x30], 0
mov edi, ebx
je 0x47ad21
mov ecx, dword [ebp - 0x14]
mov eax, edx
sub eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x30]
sar eax, 1
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
lea eax, [ebx - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x64]
jne 0x47ad21
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xc], 0xff
je 0x47ad3b
mov dword [ebp - 0x30], ebx
lea edi, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, dword [ebp - 0x14]
mov ebx, edi
sub edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x30]
sar edx, 1
mov dword [ebp - 0x30], eax
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x18]
mov dword [ebx], ecx
add ebx, 4
cmp esi, eax
jb 0x47aca0
mov edx, dword [ebp - 0x14]
jmp 0x47d1f6
mov eax, 0xa3
jmp 0x47d2a1
mov ecx, dword [edx + 0x28]
xor edx, edx
add ecx, ecx
mov dword [ebp - 8], 0xc
mov eax, ecx
mov dword [ebp - 0x44], 0
div dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x14]
sub eax, edx
mov edx, dword [ebp - 0x14]
add eax, ecx
mov ecx, edi
mov dword [ebp - 0x64], eax
or ecx, 0x80
mov eax, edi
and eax, 0x1000000
cmove ecx, edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
jmp 0x47adc2
add esi, 2
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
movzx eax, cx
mov dword [ebp - 0x48], eax
cmp esi, edi
jae 0x47d1ec
cmp ebx, dword [ebp - 0x7c]
jae 0x47ad66
mov ecx, dword [edx]
mov eax, dword [ebp - 0x1c]
movzx eax, ax
cmp eax, dword [ecx + 0x20]
ja 0x47d1e2
movzx edi, word [esi]
mov edx, esi
add esi, 2
mov dword [ebp - 8], edx
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], esi
je 0x47ae2d
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47ae2d
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x40], 0
je 0x47af02
cmp edi, 0x5c
jne 0x47ae53
cmp esi, dword [ebp - 0x18]
jae 0x47ae53
cmp word [esi], 0x45
jne 0x47ae53
mov dword [ebp - 0x40], 0
jmp 0x47adb6
cmp dword [ebp - 0x68], 0
jg case.0x47b34f.34
cmp dword [ebp - 0x6c], 0
jne 0x47aeee
mov ecx, dword [ebp - 0x70]
mov eax, ecx
dec ecx
mov dword [ebp - 0x70], ecx
test eax, eax
jg 0x47aee7
mov eax, dword [ebp - 0x30]
mov ecx, ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x47ae98
mov ecx, dword [ebp - 0x14]
mov eax, edx
sub eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x30]
sar eax, 1
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov ecx, ebx
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x74], 0
jne 0x47aea2
xor eax, eax
jmp 0x47aee2
test eax, eax
je 0x47aeba
lea eax, [ebx - 0x10]
cmp dword [ebp - 0x30], eax
jne 0x47aeba
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xc], 0xff
je 0x47aed4
mov dword [ebp - 0x30], ebx
lea ecx, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, dword [ebp - 0x14]
sub edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x30]
sar edx, 1
mov dword [eax + 4], edx
mov dword [ebp - 0x30], eax
mov ebx, ecx
mov dword [ebp - 0x24], 1
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
cmp dword [ebp - 0x6c], 0
je 0x47b03c
mov eax, dword [ebp - 0x34]
and eax, 0x400080
cmp eax, 0x400080
jne 0x47af67
cmp edi, 0xff
jbe 0x47af36
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x47af36
cmp eax, 0x2029
jne 0x47af67
cmp edi, 0x100
jae 0x47b03c
cmp edi, 0x23
je 0x47b03c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
test byte [edi + eax], 1
jne 0x47b03c
cmp edi, 0x85
je 0x47b03c
cmp edi, 0x29
je 0x47afe7
cmp edi, 0x5c
je 0x47af7e
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov eax, dword [ebp - 0x34]
test eax, 0x400000
je 0x47afbc
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
push 0
push dword [ecx + 0x24]
lea ecx, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00479c80
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x47d1a6
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x10]
jmp 0x47afbe
xor ecx, ecx
sub ecx, 0
je 0x47af71
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
sub ecx, 0x19
je 0x47adbf
sub ecx, 1
jne 0x47d042
mov dword [ebp - 0x40], 1
jmp 0x47adbf
mov eax, esi
mov dword [ebp - 0x6c], 0
sub eax, dword [ebp - 0x8c]
sar eax, 1
dec eax
cmp eax, 0xffff
jg 0x47d04c
mov ecx, dword [ebp - 0x88]
mov eax, ebx
mov edi, dword [ebp - 0x18]
sub eax, ecx
mov edx, dword [ebp - 0x14]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x1c]
test eax, eax
je 0x47adc2
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x80], 0
jmp 0x47adbf
mov ecx, dword [ebp - 0x18]
cmp edi, 0x5c
jne 0x47b065
cmp esi, ecx
jae 0x47b065
movzx eax, word [esi]
cmp eax, 0x51
je 0x47b055
cmp eax, 0x45
jne 0x47b065
xor ecx, ecx
cmp eax, 0x51
sete cl
mov dword [ebp - 0x40], ecx
jmp 0x47adb6
test byte [ebp - 0x34], 0x80
je 0x47b17b
cmp edi, 0x100
jae 0x47b087
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
test byte [edi + eax], 1
jne 0x47adb9
cmp edi, 0x85
je 0x47adb9
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x47adb9
cmp eax, 0x2029
je 0x47adb9
cmp edi, 0x23
jne 0x47b17b
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
cmp esi, edi
jae 0x47adc2
mov ecx, edx
nop word [eax + eax]
mov edx, dword [ecx + 0x90]
test edx, edx
je 0x47b0ff
mov eax, dword [ecx + 0x20]
cmp esi, eax
jae 0x47b13b
push dword [ebp - 0x50]
lea edi, [ecx + 0x94]
mov ecx, esi
push edi
push eax
call fcn.00483db0
add esp, 0xc
test eax, eax
jne 0x47b171
mov ecx, dword [ebp - 0x14]
jmp 0x47b138
mov edx, dword [ecx + 0x94]
lea edi, [ecx + 0x94]
mov ecx, dword [ecx + 0x20]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
ja 0x47b138
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x47b138
cmp edx, 1
je 0x47b171
mov ax, word [esi + 2]
cmp ax, word [ecx + 0xa2]
je 0x47b171
mov edi, dword [ebp - 0x18]
add esi, 2
cmp dword [ebp - 0x50], 0
je 0x47b164
cmp esi, edi
jae 0x47adbc
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x47b164
add esi, 2
cmp esi, edi
jb 0x47b0d0
jmp 0x47adbc
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x47adb9
cmp edi, 0x28
jne 0x47b1b9
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x47b1fc
cmp word [esi], 0x3f
jne 0x47b1fc
cmp word [esi + 2], 0x23
jne 0x47b1fc
mov edi, dword [ebp - 0x18]
nop dword [eax]
add esi, 2
cmp esi, edi
jae 0x47d059
cmp word [esi], 0x29
jne 0x47b1a0
add esi, 2
jmp 0x47adbc
cmp edi, 0x2a
je 0x47b27f
cmp edi, 0x2b
je 0x47b27f
cmp edi, 0x3f
je 0x47b27f
cmp edi, 0x7b
jne 0x47b1fc
lea eax, [ebp - 0x28]
mov dword [ebp - 0x5c], esi
push eax
push 0
mov edx, ecx
lea ecx, [ebp - 0x5c]
push 0
call fcn.00479b70
add esp, 0xc
test eax, eax
jne 0x47b27f
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x70]
mov eax, ecx
dec ecx
mov dword [ebp - 0x70], ecx
test eax, eax
jg 0x47b27f
mov eax, dword [ebp - 0x30]
mov ecx, ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x47b22d
mov ecx, dword [ebp - 0x14]
mov eax, edx
sub eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x30]
sar eax, 1
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov ecx, ebx
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x74], 0
jne 0x47b237
xor eax, eax
jmp 0x47b277
test eax, eax
je 0x47b24f
lea eax, [ebx - 0x10]
cmp dword [ebp - 0x30], eax
jne 0x47b24f
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0xc], 0xff
je 0x47b269
mov dword [ebp - 0x30], ebx
lea ecx, [ebx + 0x10]
mov dword [ebx], 0x80060000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, dword [ebp - 0x14]
sub edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x30]
sar edx, 1
mov dword [eax + 4], edx
mov ebx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ebx
mov edx, dword [ebp - 0x68]
test edx, edx
jle 0x47b2e0
cmp edi, 0x28
jne case.0x47b34f.34
mov ecx, dword [ebp - 0x18]
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x47b34f.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x47b2b3
cmp eax, 0x2a
jne case.0x47b34f.34
cmp eax, 0x2a
movzx eax, word [esi + 2]
jne 0x47b340
mov ecx, 0xff
cmp ax, cx
ja case.0x47b34f.34
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
je case.0x47b34f.34
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 8], eax
mov eax, edx
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x60], 0
test eax, eax
je 0x47b386
cmp edi, 0x3f
je 0x47b314
cmp edi, 0x2b
jne 0x47b386
cmp edi, 0x3f
mov ecx, 0x10000
mov edi, 0x20000
cmove ecx, edi
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + ebx], ecx
jmp 0x47adb9
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x47b34f.34
movzx eax, byte [eax + 0x47d2d0]
jmp dword [eax*4 + 0x47d2c0]
xor eax, eax
cmp edx, 2
sete al
test eax, eax
jne case.0x47b34f.33
sub esi, 2
mov eax, 0x80
jmp 0x47d2a1
movzx eax, word [esi + 4]
cmp eax, 0x3d
je case.0x47b34f.33
cmp eax, 0x21
jne case.0x47b34f.34
jmp case.0x47b34f.33
lea eax, [edi - 0x24]
cmp eax, 0x58
ja case.0x47b399.37
movzx eax, byte [eax + 0x47d328]
jmp dword [eax*4 + 0x47d2f4]
mov eax, dword [ebp - 0x14]
mov edx, ecx
push eax
push 0
mov edi, esi
lea ecx, [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x5c], edi
push dword [eax + 0x24]
lea eax, [ebp - 0x28]
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00479c80
mov esi, dword [ebp - 0x10]
mov edx, eax
mov dword [ebp - 0xc], eax
add esp, 0x18
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x47b47e
mov ecx, dword [ebp - 0x4c]
jmp 0x47b441
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x5c]
test byte [ebp - 0x78], 2
je 0x47d2a1
mov esi, edi
mov dword [ebp - 0x10], esi
cmp edi, ecx
jb 0x47b400
mov ecx, 0x5c
jmp 0x47b43c
cmp dword [ebp - 0x50], 0
lea esi, [edi + 2]
movzx ecx, word [edi]
mov dword [ebp - 0x10], esi
je 0x47b43c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47b43c
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0x10], esi
xor edx, edx
mov dword [ebp - 0xc], edx
test edx, edx
je 0x47b732
js 0x47b6f3
lea eax, [edx - 6]
cmp eax, 0x16
ja case.0x47b462.13
movzx eax, byte [eax + 0x47d39c]
jmp dword [eax*4 + 0x47d384]
test dword [ebp - 0x34], 0x100000
je case.0x47b462.12
mov eax, 0xb7
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
jmp 0x47b3e6
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x94]
lea ecx, [ebp - 0x10]
call fcn.0047a6c0
add esp, 0x10
test eax, eax
jne 0x47b5d7
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
jmp 0x47b3e6
mov ecx, dword [ebp - 0x18]
cmp esi, ecx
jae 0x47b5a5
movzx eax, word [esi]
cmp eax, 0x7b
je 0x47b4eb
cmp eax, 0x3c
je 0x47b4f0
cmp eax, 0x27
jne 0x47b5a5
cmp eax, 0x3c
jne 0x47b4f7
mov edi, 0x3e
jmp 0x47b507
cmp eax, 0x27
mov edi, 0x7d
mov eax, 0x27
cmove edi, eax
cmp edx, 0x1b
jne 0x47b56e
cmp edi, 0x7d
je 0x47b56e
lea eax, [esi + 2]
mov edx, ecx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x2c]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.00479a30
add esp, 0x14
test eax, eax
je 0x47b560
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x18]
jae 0x47b553
movzx eax, word [ecx]
cmp eax, edi
je 0x47b61e
mov eax, 0x9d
mov dword [ebp - 0x28], eax
jmp 0x47b3e0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
test eax, eax
jne 0x47b3e3
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov edx, ecx
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push edi
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
jne 0x47b62b
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
jmp 0x47b3e0
cmp edx, 0x1b
mov eax, 0xa9
mov edx, 0x9d
cmove eax, edx
mov dword [ebp - 0x28], eax
jmp 0x47b3e6
lea eax, [edx - 0x7fe80000]
mov dword [ebp - 0x24], 1
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
cmp dword [ebp - 0x94], 0
je 0x47b5ee
xor eax, eax
cmp dword [ebp - 0xc], 0xf
sete al
lea ecx, [eax + 0xf]
jmp 0x47b5f1
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
lea eax, [ecx - 0x7fe80000]
movzx ecx, word [ebp - 0x2c]
mov dword [ebx], eax
movzx eax, word [ebp - 0x4c]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x24], 1
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov eax, dword [ebp - 0x38]
mov esi, ecx
mov edi, dword [ebp - 0x18]
jmp 0x47cd42
cmp dword [ebp - 0xc], 0x1c
je 0x47b63b
mov eax, 0x80210000
cmp edi, 0x7d
jne 0x47b640
mov eax, 0x80040000
mov esi, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
test dword [ebp - 0x34], 0x20000
mov dword [ebp - 0x24], 1
jne 0x47b686
lea eax, [edx - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
cmp edx, 7
je 0x47b69a
cmp edx, 9
je 0x47b69a
mov eax, 0x8018000f
cmp edx, 0xb
jne 0x47b69f
mov eax, 0x80180010
mov edi, dword [ebp - 0x18]
add edx, 0xfffffffa
mov ecx, dword [ebp - 0x1c]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
cmp edx, 5
ja case.default.0x47b6b9
jmp dword [edx*4 + 0x47d3b4]
mov dword [ebx], 0x3000d
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adbc
mov dword [ebx], 0x60000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adbc
mov dword [ebx], 0x80000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adbc
mov edi, dword [ebp - 0x14]
neg edx
mov ecx, esi
mov eax, edx
or eax, 0x80030000
sub ecx, dword [edi + 0x1c]
sar ecx, 1
dec ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x20], ebx
cmp edx, 0xa
jge 0x47b732
cmp dword [edi + edx*4 + 0x2c], 0xffffffff
jne 0x47b7d4
mov dword [edi + edx*4 + 0x2c], ecx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
mov dword [ebx], 0x80090000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov dword [ebx], 0x80160000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov dword [ebx], 0x80170000
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
mov dword [ebp - 0x60], 0x80340000
jmp 0x47b7ea
mov dword [ebp - 0x60], 0x80370000
jmp 0x47b7ea
mov dword [ebp - 0x60], 0x803a0000
jmp 0x47b7ea
lea eax, [ebp - 0x28]
mov edx, ecx
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x10]
call fcn.00479b70
add esp, 0xc
test eax, eax
jne 0x47b7e0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x47d1a6
mov esi, dword [ebp - 0x10]
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x60], 0x803d0000
cmp dword [ebp - 8], 0
je 0x47d063
cmp dword [ebx - 4], 0x802a0000
lea ecx, [ebx - 4]
jne 0x47b82c
mov edx, dword [ebp - 0x84]
cmp ecx, edx
jb 0x47b81c
nop word [eax + eax]
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x47b810
mov dword [edx], 0x801a0000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov dword [ebx], eax
add ebx, 4
cmp edi, 0x7b
mov dword [ebp - 0x20], ebx
mov edi, dword [ebp - 0x18]
jne 0x47adc2
mov eax, dword [ebp - 0x98]
mov dword [ebx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x20], ebx
jmp 0x47adbf
mov eax, ecx
mov dword [ebp - 0x24], 1
sub eax, esi
mov dword [ebp - 0xc], eax
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x47b96d
mov dword [ebp - 0x2c], 6
mov ecx, 0x9409ac
mov edx, esi
nop dword [eax]
movzx eax, word [edx]
lea edx, [edx + 2]
mov dword [ebp - 0x48], eax
lea ecx, [ecx + 1]
movsx ax, byte [ecx - 1]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x48]
cmp word [ebp - 8], ax
jne 0x47b8b8
sub dword [ebp - 0x2c], 1
jne 0x47b890
jmp 0x47b902
sbb eax, eax
and eax, 2
add eax, 0xffffffff
je 0x47b902
mov dword [ebp - 8], 6
mov ecx, 0x9409c8
mov edx, esi
movzx eax, word [edx]
lea edx, [edx + 2]
mov dword [ebp - 0x48], eax
lea ecx, [ecx + 1]
movsx ax, byte [ecx - 1]
movzx eax, ax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
cmp word [ebp - 0x2c], ax
jne 0x47b8f8
sub dword [ebp - 8], 1
jne 0x47b8d0
jmp 0x47b902
sbb eax, eax
and eax, 2
add eax, 0xffffffff
jne 0x47b96d
mov dword [ebx], 0x80180005
add ebx, 4
cmp word [esi + 4], 0x3c
jne 0x47b91a
mov dword [ebx], 0x80230000
jmp 0x47b935
mov eax, dword [ebp - 0x90]
mov dword [ebx], 0x80250000
add ebx, 4
mov dword [eax], 1
mov dword [ebx], 0
add ebx, 4
test dword [ebp - 0x34], 0x20000
jne 0x47b949
mov dword [ebx], 0x8018000b
jmp 0x47b958
mov dword [ebx], 0x80180010
add ebx, 4
mov dword [ebx], 0x80000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov dword [ebp - 0x20], ebx
add esi, 0xc
jmp 0x47adb9
mov ebx, dword [ebp - 0x18]
cmp esi, ebx
jae 0x47b99e
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47b986
cmp eax, 0x2e
je 0x47b986
cmp eax, 0x3d
jne 0x47b99e
lea eax, [ebp - 0x5c]
mov edx, ebx
push eax
mov ecx, esi
call fcn.0047a860
add esp, 4
test eax, eax
jne 0x47d070
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp esi, ebx
jae 0x47ba9c
mov ecx, dword [ebp - 0xc]
nop
movzx edi, word [esi]
sub ecx, 2
add esi, 2
mov dword [ebp - 0x4c], edi
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], ecx
je 0x47b9fe
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47b9fe
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add esi, 2
add edi, 0x10000
mov dword [ebp - 0x10], esi
sub ecx, 2
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0xc], ecx
cmp edi, 0x5c
jne 0x47ba70
cmp esi, ebx
jae 0x47ba18
cmp word [esi], 0x45
jne 0x47ba18
add esi, 2
sub ecx, 2
mov dword [ebp - 0x10], esi
jmp 0x47ba94
mov eax, ecx
and eax, 0xfffffffe
cmp eax, 6
jl 0x47bac9
mov dword [ebp - 8], 3
mov ecx, 0x9409c4
mov edx, esi
movsx ax, byte [ecx]
lea edx, [edx + 2]
movzx ebx, word [edx - 2]
lea ecx, [ecx + 1]
movzx eax, ax
cmp ax, bx
jne 0x47ba52
sub dword [ebp - 8], 1
jne 0x47ba34
jmp 0x47ba5c
sbb eax, eax
and eax, 2
add eax, 0xffffffff
jne 0x47bac9
mov ecx, dword [ebp - 0xc]
add esi, 6
mov edx, dword [ebp - 0x2c]
sub ecx, 6
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x10], esi
jmp 0x47ba94
test dword [ebp - 0x34], 0x1000000
je 0x47ba83
cmp edi, 0x20
je 0x47ba94
cmp edi, 9
je 0x47ba94
test edx, edx
jne 0x47ba9c
cmp edi, 0x5e
jne 0x47ba9c
mov edx, 1
mov dword [ebp - 0x2c], edx
cmp esi, ebx
jb 0x47b9b0
cmp edi, 0x5d
jne 0x47bac9
mov eax, dword [ebp - 0x14]
test byte [eax + 0x6c], 1
je 0x47bac9
mov ebx, dword [ebp - 0x20]
test edx, edx
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov ebx, dword [ebp - 0x20]
mov eax, 0x800a0000
cmp dword [ebp - 0x2c], 0
mov ecx, 0x800e0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
xor edx, edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], edx
nop word [eax + eax]
cmp dword [ebp - 0x40], 0
mov ecx, 1
mov dword [ebp - 0x48], ecx
je 0x47bb27
cmp edi, 0x5c
jne 0x47beae
cmp esi, dword [ebp - 0x18]
jae 0x47beae
cmp word [esi], 0x45
jne 0x47beae
xor ecx, ecx
add esi, 2
mov dword [ebp - 0x40], ecx
jmp 0x47bf09
test dword [ebp - 0x34], 0x1000000
je 0x47bb42
cmp edi, 0x20
je 0x47bf06
cmp edi, 9
je 0x47bf06
cmp edi, 0x5b
jne 0x47bc61
mov eax, dword [ebp - 0x18]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x47beae
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47bb72
cmp eax, 0x2e
je 0x47bb72
cmp eax, 0x3d
jne 0x47beae
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
call fcn.0047a860
add esp, 4
test eax, eax
je 0x47bea8
xor edi, edi
cmp dword [ebp - 0x24], 1
je 0x47be9e
cmp word [esi], 0x3a
jne 0x47d099
add esi, 2
cmp word [esi], 0x5e
jne 0x47bbb2
mov edi, 1
add esi, 2
mov edx, dword [ebp - 0x5c]
mov ecx, esi
sub edx, esi
sar edx, 1
call fcn.0047a8e0
mov ecx, eax
test ecx, ecx
js 0x47d08f
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x18]
add esi, 4
add eax, 0xfffffffe
cmp esi, eax
jae 0x47bbeb
cmp word [esi], 0x2d
jne 0x47bbeb
cmp word [esi + 2], 0x5d
jne 0x47be9e
xor edx, edx
test dword [ebp - 0x34], 0x20000
mov dword [ebp - 0x24], edx
je 0x47bc48
mov eax, dword [ecx*8 + 0x7c3fd0]
mov edx, dword [ecx*8 + 0x7c3fd4]
test eax, eax
js 0x47bc2a
neg edi
sbb edi, edi
shl eax, 0x10
add edi, 0x80180010
or eax, edx
mov dword [ebx], edi
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x20], ebx
jmp 0x47bf03
test edx, edx
mov edx, dword [ebp - 0x24]
je 0x47bc48
neg edi
sbb edi, edi
add edi, 0x80180013
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47bf06
lea eax, [edi + 0x801c]
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 0x20], ebx
jmp 0x47bf06
cmp edi, 0x2d
jne 0x47bc94
cmp edx, 2
jb 0x47beae
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, 1
cmove eax, ecx
mov dword [ebp - 0x24], edx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47bf06
cmp edi, 0x5c
jne 0x47beae
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov edx, edi
push eax
push 1
mov eax, dword [eax]
mov dword [ebp - 0x5c], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x28]
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00479c80
mov ebx, eax
add esp, 0x18
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x47bd29
test byte [ebp - 0x78], 2
je 0x47d1a6
mov dword [ebp - 0x10], esi
cmp esi, edi
jb 0x47bce9
mov edi, 0x5c
xor ebx, ebx
jmp 0x47bd34
movzx edi, word [esi]
add esi, 2
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x10], esi
je 0x47bd25
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47bd25
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x10], esi
xor ebx, ebx
jmp 0x47bd34
mov esi, dword [ebp - 0x10]
cmp ebx, 0x1a
ja case.default.0x47bd3b
mov edi, dword [ebp - 0x4c]
movzx eax, byte [ebx + 0x47d3e4]
jmp dword [eax*4 + 0x47d3cc]
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
jmp 0x47beab
mov ebx, dword [ebp - 0x20]
mov edi, 8
xor ecx, ecx
jmp 0x47beab
mov ebx, dword [ebp - 0x20]
mov ecx, 1
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x40], ecx
jmp 0x47bf09
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x24], 1
je 0x47be9e
xor edx, edx
lea ecx, [ebx - 6]
mov dword [ebp - 0x24], edx
cmp ecx, 0xf
ja case.0x47bd93.13
movzx eax, byte [ecx + 0x47d414]
jmp dword [eax*4 + 0x47d400]
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 0x20]
mov dword [ebx], eax
add ebx, 4
jmp 0x47be87
test dword [ebp - 0x34], 0x20000
jne 0x47bdc9
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 0x20]
mov dword [ebx], eax
add ebx, 4
jmp 0x47be87
cmp ebx, 7
je 0x47bddd
cmp ebx, 9
je 0x47bddd
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x47bde2
mov eax, 0x80180010
mov ebx, dword [ebp - 0x20]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
cmp ecx, 5
ja case.default.0x47bdf6
jmp dword [ecx*4 + 0x47d424]
mov dword [ebx], 0x3000d
add ebx, 4
jmp 0x47be87
mov dword [ebx], 0x60000
add ebx, 4
jmp 0x47be87
mov dword [ebx], 0x80000
add ebx, 4
jmp 0x47be87
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov dword [ebp - 8], edx
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x10]
call fcn.0047a6c0
add esp, 0x10
test eax, eax
je 0x47d124
cmp dword [ebp - 0xa0], 0
je 0x47be63
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [ebp - 8]
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
shl ecx, 0x10
mov dword [ebx], eax
movzx eax, word [ebp - 0x2c]
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 0x20], ebx
lea eax, [edi - 2]
cmp esi, eax
jae 0x47bf06
cmp word [esi], 0x2d
jne 0x47bf06
cmp word [esi + 2], 0x5d
je 0x47bf06
mov eax, 0x96
jmp 0x47d2a1
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x24]
cmp edx, 1
jne 0x47bef0
mov eax, dword [ebx - 8]
cmp eax, edi
jne 0x47bec7
sub ebx, 4
xor edx, edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], edx
jmp 0x47bf06
ja 0x47d0bd
test ecx, ecx
jne 0x47bee1
cmp dword [ebx - 4], 0x801f0000
jne 0x47bee1
mov dword [ebx - 4], 0x801e0000
mov dword [ebx], edi
add ebx, 4
xor edx, edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], edx
jmp 0x47bf06
mov dword [ebx], edi
lea edx, [ecx + 2]
add ebx, 4
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ebx
jmp 0x47bf06
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
cmp esi, dword [ebp - 0x18]
jae 0x47d0ca
movzx edi, word [esi]
add esi, 2
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], esi
je 0x47bf54
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47bf54
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], esi
cmp edi, 0x5d
jne 0x47baf0
test ecx, ecx
jne 0x47baf0
cmp edx, 1
jne 0x47bf71
mov dword [ebx - 4], 0x2d
mov dword [ebx], 0x800d0000
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adb9
mov edi, dword [ebp - 0x18]
cmp esi, edi
jae 0x47d29c
movzx eax, word [esi]
cmp eax, 0x3f
je 0x47c394
cmp eax, 0x2a
je 0x47bff6
mov ecx, dword [ebp - 0x1c]
inc ecx
test dword [ebp - 0x34], 0x2000
mov dword [ebp - 0x1c], ecx
jne 0x47bfe2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x74]
cmp eax, 0xffff
jae 0x47d0d4
mov edx, dword [ebp - 0x14]
inc eax
mov dword [ecx + 0x74], eax
or eax, 0x80080000
mov ecx, dword [ebp - 0x1c]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adc2
mov edx, dword [ebp - 0x14]
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adc2
mov edx, dword [ebp - 0x14]
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47adbf
movzx ecx, word [esi + 2]
cmp ecx, 0x29
je 0x47adbf
cmp ecx, 0xff
ja 0x47c212
mov eax, dword [edx + 0x10]
test byte [ecx + eax], 4
je 0x47c212
push edx
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x3c]
mov edi, 0x7c4040
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x2c], edi
push eax
lea eax, [ebp - 0x54]
push eax
push 0
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
mov esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x18]
jae 0x47c13a
cmp word [esi], 0x3a
jne 0x47c13a
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x38], edx
mov eax, dword [edx*8 + 0x7c45a8]
mov dword [ebp - 0x48], eax
cmp ecx, eax
jne 0x47c127
mov dword [ebp - 8], ecx
mov edx, edi
mov edi, dword [ebp - 0x58]
test ecx, ecx
je 0x47c0bc
nop
movsx ax, byte [edx]
lea edi, [edi + 2]
movzx ecx, word [edi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp ax, cx
jne 0x47c111
sub dword [ebp - 8], 1
jne 0x47c0a0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ecx*8 + 0x7c45ac]
test edx, edx
jle 0x47c0de
lea eax, [ecx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x47d0de
cmp ecx, 0x80250000
ja 0x47c15d
je 0x47c188
cmp ecx, 0x80230000
ja 0x47c144
je 0x47c9bf
cmp ecx, 0x80020000
je 0x47c98d
cmp ecx, 0x80220000
jmp 0x47c199
sbb eax, eax
and eax, 2
add eax, 0xffffffff
je 0x47c0bc
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
inc edi
inc edx
add edi, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x2c], edi
cmp edx, 0x11
jl 0x47c081
mov eax, 0xc3
jmp 0x47d2a1
cmp ecx, 0x80240000
jne 0x47d106
mov edi, dword [ebp - 0x18]
add esi, 2
mov dword [ebx], ecx
jmp 0x47ca5d
cmp ecx, 0x80280000
ja 0x47c193
je 0x47c188
cmp ecx, 0x80260000
je 0x47c188
cmp ecx, 0x80270000
jne 0x47d106
mov edi, dword [ebp - 0x18]
add esi, 2
mov dword [ebx], ecx
jmp 0x47ca5d
mov edi, dword [ebp - 0x18]
sub esi, 2
jmp 0x47ca35
cmp ecx, 0x8fff0000
jne 0x47d106
mov eax, dword [ebp - 0x1c]
add esi, 2
mov edi, dword [ebp - 0x18]
inc eax
mov edx, dword [ebp - 0x14]
mov dword [ebx], 0x80220000
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], eax
cmp ecx, 0x8fff0000
jne 0x47adbf
mov ecx, dword [ebp - 0x44]
mov dword [ebx], 0x80020000
add ebx, 4
mov dword [ebp - 0x20], ebx
test ecx, ecx
jne 0x47c1e7
mov eax, edx
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], ecx
jmp 0x47c1f6
add ecx, 0xc
mov dword [ebp - 0x44], ecx
cmp ecx, dword [ebp - 0x64]
jae 0x47d0fc
mov word [ecx], ax
mov eax, 4
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x34]
and eax, 0x10424e8
mov dword [ecx + 8], eax
jmp 0x47adbf
push edx
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x3c]
mov edi, 0x7c42ec
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x2c], edi
push eax
lea eax, [ebp - 0x54]
push eax
push 0
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
mov esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x18]
jae 0x47c348
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47c263
cmp eax, 0x29
jne 0x47c348
xor edx, edx
mov eax, 0x7c4500
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xc], eax
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x3c], ecx
jne 0x47c32d
mov eax, dword [ebp - 0x3c]
mov edx, edi
mov edi, dword [ebp - 0x58]
mov dword [ebp - 8], eax
test eax, eax
je 0x47c2ac
nop dword [eax]
movsx ax, byte [edx]
lea edi, [edi + 2]
movzx ecx, word [edi - 2]
lea edx, [edx + 1]
movzx eax, ax
cmp ax, cx
jne 0x47c317
sub dword [ebp - 8], 1
jne 0x47c290
cmp word [esi], 0x3a
mov edi, dword [ebp - 0x18]
jne 0x47c2c3
lea eax, [esi + 2]
cmp eax, edi
jae 0x47c2c3
cmp word [eax], 0x29
cmove esi, eax
mov eax, dword [ebp - 0x38]
lea ecx, [eax + eax*2]
mov edx, dword [ecx*4 + 0x7c4508]
test edx, edx
jle 0x47c2de
cmp word [esi], 0x3a
jne 0x47d110
mov ecx, dword [ecx*4 + 0x7c4504]
xor eax, eax
cmp ecx, 0x802a0000
mov dword [ebp - 0x84], ebx
sete al
mov dword [ebp - 0x24], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0x3a
jne 0x47c387
test edx, edx
jns 0x47c352
mov dword [ebp - 0x80], ecx
mov dword [ebx], 0x80290000
jmp 0x47c366
sbb eax, eax
and eax, 2
add eax, 0xffffffff
je 0x47c2ac
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x2c]
inc edi
add eax, 0xc
add edi, ecx
mov dword [ebp - 0xc], eax
inc edx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x38], edx
cmp eax, 0x7c456c
jl 0x47c270
mov eax, 0xa0
jmp 0x47d2a1
xor eax, eax
mov edx, 0x10000
cmp ecx, 0x80290000
cmovne eax, edx
add eax, ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], ebx
add ebx, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x6c], 1
jmp 0x47adbc
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adbc
add esi, 2
mov dword [ebp - 0x10], esi
cmp esi, edi
jae 0x47d29c
movzx ecx, word [esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x47c3b8.34
movzx eax, byte [eax + 0x47d474]
jmp dword [eax*4 + 0x47d43c]
add esi, 2
mov dword [ebp - 0x10], esi
cmp esi, edi
jae 0x47d29c
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x47c3df
mov eax, 0x3e
jmp 0x47cab9
cmp eax, 0x3e
je case.0x47c3b8.38
cmp eax, 0x3d
jne 0x47d11a
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov edx, edi
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 0x29
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
mov dword [ebx], 0x80040000
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x10]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 1
jmp 0x47adbc
xor eax, eax
add esi, 2
mov dword [ebp - 0x38], eax
cmp esi, edi
jae 0x47c45b
cmp word [esi], 0x29
je 0x47cd42
mov eax, 0x9e
jmp 0x47d2a1
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x47c483
movzx eax, word [esi + 2]
cmp eax, 0x30
jb 0x47c483
cmp eax, 0x39
jbe case.0x47c3b8.48
mov eax, 0x81
jmp 0x47d2a1
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov edx, edi
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 0x29
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
mov dword [ebx], 0x80210000
jmp 0x47c424
add esi, 2
cmp esi, edi
jae 0x47d29c
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x68], eax
test ecx, ecx
je 0x47c4f5
test byte [ebp - 0x34], 4
je 0x47c4f5
lea eax, [ebx - 0x10]
cmp ecx, eax
jne 0x47c4f5
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx ecx, word [esi]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x70], 1
cmp ecx, 0x29
je 0x47c59e
cmp ecx, 0x30
jb 0x47c519
cmp ecx, 0x39
jbe 0x47c59e
xor eax, eax
mov edx, ecx
mov edi, esi
mov dword [ebp - 0x38], eax
mov ecx, 0x60
cmp edx, ecx
je 0x47c544
mov ecx, dword [eax*4 + 0x7c76c0]
inc eax
mov dword [ebp - 0x38], eax
test ecx, ecx
jne 0x47c527
mov eax, 0xb6
jmp 0x47d2a1
mov ecx, dword [eax*4 + str.____]
test ecx, ecx
je 0x47c53a
mov edx, dword [ebp - 0x18]
mov dword [ebx], 0x80070000
nop dword [eax + eax]
add esi, 2
cmp esi, edx
jae 0x47d12f
movzx eax, word [esi]
cmp eax, ecx
jne 0x47c560
add esi, 2
cmp esi, edx
jae 0x47c580
movzx eax, word [esi]
cmp eax, ecx
je 0x47c560
mov edx, dword [ebp - 0x14]
mov eax, esi
sub eax, edi
sar eax, 1
mov dword [ebx + 0xc], eax
add ebx, 0x10
sub edi, dword [edx + 0x1c]
sar edi, 1
mov dword [ebp - 0x54], edi
mov dword [ebx], edi
mov edi, dword [ebp - 0x18]
jmp 0x47c5de
xor ecx, ecx
mov dword [ebx], 0x80060000
add ebx, 0xc
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x30
jb 0x47c5d9
cmp eax, 0x39
ja 0x47c5d9
lea ecx, [ecx + ecx*4]
add esi, 2
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x47d13b
cmp esi, edi
jb 0x47c5b0
mov edx, dword [ebp - 0x14]
mov dword [ebx], ecx
cmp esi, edi
jae 0x47d145
cmp word [esi], 0x29
jne 0x47d145
mov ecx, dword [ebp - 0x30]
add esi, 2
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
add ebx, 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
mov dword [ebp - 0x20], ebx
jmp 0x47adbf
add esi, 2
mov dword [ebp - 0x10], esi
cmp esi, edi
jae 0x47d29c
mov ecx, dword [ebp - 0x1c]
movzx eax, word [esi]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp eax, 0x3f
je 0x47c96f
cmp eax, 0x2a
je 0x47c96f
lea eax, [ebp - 0x28]
mov edx, edi
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
push 0xa1
push 0xffff
push dword [eax + 0x74]
call fcn.00479a30
add esp, 0x14
test eax, eax
je 0x47c696
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x10]
test ecx, ecx
jle 0x47d14f
mov edx, dword [ebp - 0x14]
mov eax, esi
mov dword [ebx], 0x80120000
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x54], eax
mov dword [ebx], ecx
jmp 0x47c94f
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x47d1a6
mov edx, dword [ebp - 0x10]
mov ecx, edi
sub ecx, edx
sar ecx, 1
mov dword [ebp - 8], ecx
cmp ecx, 0xa
jl 0x47c7fe
lea edi, [eax + 7]
mov ecx, 0x9409d8
nop
movsx ax, byte [ecx]
lea edx, [edx + 2]
movzx esi, word [edx - 2]
lea ecx, [ecx + 1]
movzx eax, ax
cmp ax, si
jne 0x47c6dd
sub edi, 1
jne 0x47c6c0
jmp 0x47c6eb
sbb eax, eax
and eax, 2
add eax, 0xffffffff
jne 0x47c7f8
mov edx, dword [ebp - 0x10]
cmp word [edx + 0xe], 0x29
lea esi, [edx + 0xe]
je 0x47c7fb
xor edi, edi
mov dword [ebp - 8], 0
cmp word [esi], 0x3e
mov dword [ebp - 0x2c], 0
jne 0x47c71c
mov dword [ebp - 8], 1
add esi, 2
cmp word [esi], 0x3d
jne 0x47d159
movzx eax, word [esi + 2]
add esi, 2
mov dword [ebp - 0x10], esi
cmp eax, 0x30
jb 0x47d159
cmp eax, 0x39
ja 0x47d159
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.00479a30
add esp, 0x14
test eax, eax
je 0x47d124
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
cmp esi, ecx
jae 0x47d159
cmp word [esi], 0x2e
jne 0x47c7da
add esi, 2
cmp esi, ecx
jae 0x47d159
movzx eax, word [esi]
cmp eax, 0x30
jb 0x47d159
cmp eax, 0x39
ja 0x47d159
sub eax, 0x30
add esi, 2
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x47d159
movzx eax, word [esi]
cmp eax, 0x30
jb 0x47c7c8
cmp eax, 0x39
ja 0x47c7c8
add eax, 0xffffffd0
add edi, eax
add esi, 2
cmp esi, ecx
jae 0x47d159
cmp word [esi], 0x29
jne 0x47d159
mov eax, dword [ebp - 8]
mov dword [ebx], 0x80150000
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebx], edi
mov edi, ecx
jmp 0x47c94c
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
movzx eax, word [edx]
xor edi, edi
cmp eax, 0x52
jne 0x47c81f
cmp ecx, 1
jle 0x47c81f
cmp word [edx + 2], 0x26
lea ecx, [edx + 2]
jne 0x47c81f
lea edi, [eax - 0x51]
mov dword [ebp - 0x10], ecx
jmp 0x47c838
cmp eax, 0x3c
jne 0x47c829
lea esi, [eax + 2]
jmp 0x47c83d
cmp eax, 0x27
jne 0x47c832
mov esi, eax
jmp 0x47c83d
sub edx, 2
mov dword [ebp - 0x10], edx
mov esi, 0x29
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push esi
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
test edi, edi
je 0x47c87f
mov esi, dword [ebp - 0x10]
mov dword [ebx], 0x80130000
sub esi, 2
jmp 0x47c930
cmp esi, 0x29
jne 0x47c927
mov esi, dword [ebp - 0x3c]
cmp esi, 6
jne 0x47c8e4
mov edx, dword [ebp - 0x58]
mov edi, esi
mov ecx, 0x9409d0
nop word [eax + eax]
movsx ax, byte [ecx]
lea edx, [edx + 2]
movzx esi, word [edx - 2]
lea ecx, [ecx + 1]
movzx eax, ax
cmp ax, si
jne 0x47c8c9
sub edi, 1
jne 0x47c8a0
mov esi, dword [ebp - 0x10]
mov dword [ebx], 0x80100000
sub esi, 2
jmp 0x47c930
sbb eax, eax
and eax, 2
add eax, 0xffffffff
jne 0x47c8e1
mov esi, dword [ebp - 0x10]
mov dword [ebx], 0x80100000
sub esi, 2
jmp 0x47c930
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x58]
mov eax, 1
mov dword [ebp - 0x38], eax
cmp esi, eax
jle 0x47c909
movzx ecx, word [edx + eax*2]
cmp ecx, 0x30
jb 0x47c906
cmp ecx, 0x39
ja 0x47c906
inc eax
cmp eax, esi
jl 0x47c8f3
mov dword [ebp - 0x38], eax
cmp word [edx], 0x52
jne 0x47c918
cmp eax, esi
mov eax, 0x80140000
jge 0x47c91d
mov eax, 0x80110000
mov esi, dword [ebp - 0x10]
mov dword [ebx], eax
sub esi, 2
jmp 0x47c930
mov esi, dword [ebp - 0x10]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x47c944
mov eax, dword [ebp - 0x3c]
mov dword [ebx], eax
add ebx, 4
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x18]
mov dword [ebx], eax
mov edx, dword [ebp - 0x14]
cmp esi, edi
jae 0x47d163
cmp word [esi], 0x29
jne 0x47d163
add esi, 2
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adbf
mov edx, dword [ebp - 0x14]
mov dword [ebx], 0x800f0000
add ebx, 4
mov dword [ebp - 0x20], ebx
sub esi, 2
mov dword [ebp - 0x68], 2
jmp 0x47adc2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [ebx], 0x80020000
add ebx, 4
mov dword [ebp - 0x20], ebx
add esi, 2
mov dword [ebp - 0x1c], ecx
jmp 0x47adc2
mov edx, dword [ebp - 0xc]
add esi, 2
mov dword [ebx], 0x80230000
jmp 0x47ca5d
mov edi, dword [ebp - 0x18]
mov dword [ebx], 0x80230000
add esi, 2
jmp 0x47ca5d
mov edx, dword [ebp - 0xc]
mov dword [ebx], 0x80270000
add esi, 2
jmp 0x47ca5d
mov edx, dword [ebp - 0xc]
mov dword [ebx], 0x80240000
add esi, 2
jmp 0x47ca5d
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47c3d5
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x47ca1b
cmp eax, 0x21
je 0x47ca16
cmp eax, 0x2a
jne 0x47c3d5
cmp eax, 0x3d
jne 0x47ca22
mov ecx, 0x80250000
jmp 0x47ca32
cmp eax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
mov edx, dword [ebp - 0xc]
mov dword [ebx], ecx
mov eax, dword [ebp - 0x90]
lea ecx, [ebx + 4]
mov ebx, dword [ebp - 0x14]
mov dword [eax], 1
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov ebx, ecx
sar eax, 1
sub eax, 2
add esi, 4
mov dword [ebp - 0x54], eax
mov dword [ecx], eax
mov ecx, dword [ebp - 0x1c]
add ebx, 4
inc ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ecx
test edx, edx
jle 0x47caac
mov ecx, dword [ebp - 0x44]
test ecx, ecx
jne 0x47ca80
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x44], ecx
jmp 0x47ca8f
add ecx, 0xc
mov dword [ebp - 0x44], ecx
cmp ecx, dword [ebp - 0x64]
jae 0x47d0fc
mov eax, dword [ebp - 0x1c]
mov word [ecx], ax
mov eax, 2
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x34]
and eax, 0x10424e8
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
jmp 0x47adc2
mov eax, 0x27
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
push esi
push ecx
lea ecx, [ebp - 0x3c]
mov edx, edi
push ecx
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x54]
push ecx
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0x10]
call fcn.0047a970
add esp, 0x1c
test eax, eax
je 0x47d124
mov eax, dword [esi + 0x74]
cmp eax, 0xffff
jae 0x47d1a1
inc dword [ebp - 0x1c]
inc eax
mov dword [esi + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
movzx edx, word [esi + 0x58]
mov eax, 0x2710
mov dword [ebp - 0x20], ebx
cmp dx, ax
jae 0x47d194
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x14]
lea ecx, [esi + 2]
movzx eax, word [edi + 0x5a]
cmp ecx, eax
jbe 0x47cb32
lea eax, [esi + 2]
mov word [edi + 0x5a], ax
mov ecx, dword [edi + 0x64]
xor eax, eax
xor edi, edi
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x38], edi
cmp ax, dx
jb 0x47cb65
mov esi, dword [ebp - 0x14]
movzx eax, word [esi + 0x58]
cmp edi, eax
jge 0x47cc00
mov esi, dword [ebp - 0x10]
jmp 0x47adb9
mov esi, dword [ebp - 0x3c]
movzx eax, word [ecx + 8]
cmp esi, eax
jne 0x47cbd6
cmp dword [ebp - 0x3c], 0
mov eax, dword [ecx]
jbe 0x47cba7
mov edi, dword [ebp - 0x58]
sub edi, eax
nop word [eax + eax]
movzx ecx, word [eax + edi]
lea eax, [eax + 2]
movzx edx, word [eax - 2]
cmp dx, cx
jne 0x47cb97
sub esi, 1
jne 0x47cb80
jmp 0x47cba1
sbb eax, eax
and eax, 2
add eax, 0xffffffff
jne 0x47cbd0
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x74]
je 0x47cb4e
test byte [ebp - 0x34], 0x40
je 0x47d16d
mov eax, 1
mov word [ecx + 0xa], ax
mov dword [ebp - 8], eax
mov dword [esi + 0xbc], eax
jmp 0x47cbe5
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x74]
je 0x47d17a
movzx eax, word [esi + 0x58]
inc edi
add ecx, 0xc
mov dword [ebp - 0x38], edi
mov dword [ebp - 0xc], ecx
cmp edi, eax
jl 0x47cb62
jmp 0x47cb4e
mov ecx, dword [esi + 0x68]
cmp eax, ecx
jb 0x47cc65
lea edi, [ecx + ecx]
mov ecx, dword [esi]
lea eax, [edi + edi*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov esi, eax
add esp, 8
test esi, esi
je 0x47d187
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ecx + 0x64]
push esi
call fcn.00628270
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp dword [ecx + 0x68], 0x14
jbe 0x47cc5c
mov eax, dword [ecx]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ecx + 0x64]
call eax
mov ecx, dword [ebp - 0x14]
add esp, 8
mov dword [ecx + 0x64], esi
mov esi, dword [ebp - 0x14]
mov dword [esi + 0x68], edi
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x3c]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [esi + 0x58]
mov esi, dword [ebp - 0x10]
jmp 0x47adb9
cmp ecx, 0x2d
jne 0x47cd6e
mov eax, edi
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47cd6e
movzx eax, word [esi + 2]
cmp eax, 0x30
jb 0x47cd6e
cmp eax, 0x39
ja 0x47cd6e
cmp ecx, 0x30
jb 0x47ccf4
cmp ecx, 0x39
ja 0x47ccf4
or eax, 0xffffffff
jmp 0x47ccfa
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x28]
mov edx, edi
push ecx
lea ecx, [ebp - 0x38]
push ecx
push 0xa1
push 0xffff
push eax
lea ecx, [ebp - 0x10]
call fcn.00479a30
add esp, 0x14
test eax, eax
je 0x47d124
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x10]
test eax, eax
js 0x47d1ae
cmp esi, edi
jae 0x47d29c
cmp word [esi], 0x29
jne 0x47d29c
mov edx, dword [ebp - 0x14]
or eax, 0x80200000
mov dword [ebx], eax
mov eax, esi
add esi, 2
mov dword [ebp - 0x24], 1
sub eax, dword [edx + 0x1c]
sar eax, 1
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x20], ebx
jmp 0x47adbf
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x1c], eax
test edx, edx
jne 0x47cd87
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x44], edx
jmp 0x47cd99
add edx, 0xc
mov dword [ebp - 0x44], edx
cmp edx, dword [ebp - 0x64]
jae 0x47d0fc
mov ecx, dword [ebp - 0x14]
mov word [edx], ax
xor eax, eax
mov word [edx + 6], ax
mov eax, dword [ebp - 0x34]
and eax, 0x10424e8
mov dword [edx + 8], eax
cmp word [esi], 0x7c
jne 0x47cdec
movzx eax, word [ecx + 0x74]
mov word [edx + 2], ax
movzx eax, word [ecx + 0x74]
mov word [edx + 4], ax
mov eax, 1
mov word [edx + 6], ax
mov eax, dword [ebp - 0x14]
mov edx, eax
or dword [eax + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 0x20], ebx
add esi, 2
jmp 0x47adbf
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov dword [edx + 2], ecx
xor edi, edi
xor edx, edx
mov dword [ebp - 0x2c], 1
cmp word [esi], 0x5e
lea ecx, [ebp - 8]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edi
jne 0x47ce1f
and eax, 0xfeffdb57
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], eax
add esi, 2
cmp esi, dword [ebp - 0x18]
jae 0x47cecd
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x29
je 0x47cec7
cmp eax, 0x3a
je 0x47cec7
sub eax, 0x2d
add esi, 2
cmp eax, 0x4b
ja case.0x47ce5b.46
movzx eax, byte [eax + 0x47d4cc]
jmp dword [eax*4 + 0x47d4a8]
cmp dword [ebp - 0x2c], edx
je 0x47d1bb
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x2c], edx
jmp 0x47cebe
mov eax, dword [ebp - 0x14]
or dword [ecx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x47cebe
or dword [ecx], 8
jmp 0x47cebe
or dword [ecx], 0x400
jmp 0x47cebe
or dword [ecx], 0x2000
jmp 0x47cebe
or dword [ecx], 0x20
jmp 0x47cebe
or dword [ecx], 0x40000
jmp 0x47cebe
or dword [ecx], 0x80
cmp esi, dword [ebp - 0x18]
jae 0x47cec7
cmp word [esi], 0x78
jne 0x47cebe
or dword [ecx], 0x1000000
add esi, 2
cmp esi, dword [ebp - 0x18]
jb 0x47ce30
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x47cedf
test dl, dl
jns 0x47cee5
or edx, 0x1000000
or edi, dword [ebp - 0x34]
not edx
and edi, edx
mov ecx, edi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
cmp esi, edi
jae 0x47d29c
movzx eax, word [esi]
add esi, 2
mov edx, dword [ebp - 0x14]
cmp eax, 0x29
jne 0x47cf3c
mov eax, dword [ebp - 0x48]
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + 0x14]
jbe 0x47cf31
mov edi, dword [ebp - 0x1c]
add eax, 0xfffffff4
cmp word [eax], di
mov edi, dword [ebp - 0x18]
jne 0x47cf2e
mov dword [ebp - 0x44], eax
jmp 0x47cf48
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x1c]
mov word [eax], di
mov edi, dword [ebp - 0x18]
jmp 0x47cf48
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 0x20], ebx
cmp ecx, dword [ebp - 0x4c]
je 0x47adbf
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 0x20], ebx
jmp 0x47adbf
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x47cf95
mov eax, dword [ebp - 0x1c]
cmp word [ecx], ax
jne 0x47cf95
test byte [ecx + 6], 1
je 0x47cf95
mov edi, dword [ebp - 0x14]
movzx eax, word [ecx + 4]
cmp dword [edi + 0x74], eax
jbe 0x47cf8e
mov ax, word [edi + 0x74]
mov word [ecx + 4], ax
movzx eax, word [ecx + 2]
mov dword [edi + 0x74], eax
mov dword [ebx], 0x80010000
add ebx, 4
mov dword [ebp - 0x20], ebx
jmp 0x47adb9
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x24], 1
test ecx, ecx
je 0x47d016
mov eax, dword [ebp - 0x1c]
cmp word [ecx], ax
jne 0x47d016
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x14]
and eax, 0xfefbdb17
or eax, dword [ecx + 8]
test byte [ecx + 6], 1
mov dword [ebp - 0x34], eax
je 0x47cfdf
movzx eax, word [ecx + 4]
cmp eax, dword [edi + 0x74]
jbe 0x47cfdf
mov dword [edi + 0x74], eax
movzx eax, word [ecx + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x24], ecx
test al, 4
je 0x47cffc
mov dword [ebx], 0x80190000
add ebx, 4
mov eax, dword [ebp - 0x44]
cmp eax, dword [edi + 0x14]
jne 0x47d00d
mov dword [ebp - 0x44], 0
jmp 0x47d016
sub eax, 0xc
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x1c]
test cx, cx
je 0x47d1d5
mov edi, dword [ebp - 0x18]
add ecx, 0xffff
mov dword [ebx], 0x80190000
add ebx, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], ebx
mov edx, dword [ebp - 0x14]
jmp 0x47adc2
mov eax, 0x8c
jmp 0x47d2a1
sub esi, 2
mov eax, 0xb0
jmp 0x47d2a1
mov eax, 0x76
jmp 0x47d2a1
mov eax, 0x6d
sub esi, 2
jmp 0x47d2a1
movzx eax, word [esi]
sub esi, 2
cmp eax, 0x3a
jne 0x47d085
mov eax, 0x70
jmp 0x47d2a1
mov eax, 0x71
jmp 0x47d2a1
mov eax, 0x82
jmp 0x47d2a1
mov eax, 0x71
sub esi, 2
jmp 0x47d2a1
mov eax, 0x6b
sub esi, 2
jmp 0x47d2a1
mov eax, 0xab
jmp 0x47d2a1
mov eax, 0x6c
sub esi, 2
jmp 0x47d2a1
mov eax, 0x6a
jmp 0x47d2a1
mov eax, 0xc5
jmp 0x47d2a1
cmp ecx, 0x80270000
je 0x47d0f2
cmp ecx, 0x80280000
jne 0x47b365
mov eax, 0xc6
jmp 0x47d2a1
mov eax, 0xb8
jmp 0x47d2a1
mov eax, 0xbd
jmp 0x47d2a1
mov eax, 0xa6
jmp 0x47d2a1
mov eax, 0x8d
jmp 0x47d2a1
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
jmp 0x47d2a1
mov eax, 0xb5
mov esi, edi
jmp 0x47d2a1
mov eax, 0x8a
jmp 0x47d2a1
mov eax, 0x8b
jmp 0x47d2a1
mov eax, 0x73
jmp 0x47d2a1
mov eax, 0xb3
jmp 0x47d2a1
mov eax, 0x7c
jmp 0x47d2a1
mov esi, dword [ebp - 0x10]
mov eax, 0x8f
jmp 0x47d2a1
mov esi, dword [ebp - 0x10]
mov eax, 0xa5
jmp 0x47d2a1
mov esi, dword [ebp - 0x10]
mov eax, 0x79
jmp 0x47d2a1
mov esi, dword [ebp - 0x10]
mov eax, 0x95
jmp 0x47d2a1
mov eax, 0xc5
mov esi, dword [ebp - 0x10]
jmp 0x47d2a1
mov eax, 0x73
sub esi, 2
jmp 0x47d2a1
mov eax, 0xc2
sub esi, 2
jmp 0x47d2a1
mov eax, 0x6f
sub esi, 2
jmp 0x47d2a1
mov eax, 0x7a
sub esi, 2
jmp 0x47d2a1
mov eax, 0x77
jmp 0x47d2a1
cmp dword [ebp - 0x6c], 0
jne 0x47c348
mov edi, dword [ebp - 0x30]
mov ecx, ebx
test edi, edi
je 0x47d20c
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, dword [edi + 4]
mov dword [edi + 8], eax
cmp dword [ebp - 0x74], 0
je 0x47d249
test edi, edi
je 0x47d226
lea eax, [ebx - 0x10]
cmp edi, eax
jne 0x47d226
cmp dword [edi + 0xc], 0xff
je 0x47d23f
mov edi, ebx
mov dword [ebx], 0x80060000
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, esi
sub eax, dword [edx + 0x1c]
sar eax, 1
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x78]
test al, 8
je 0x47d25f
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x47d270
test al, 4
je 0x47d273
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x7c]
jae 0x47ad66
cmp word [ebp - 0x1c], 0
mov dword [ecx], 0x80000000
jne 0x47d29c
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00623060
mov esp, ebp
pop ebp
ret
mov eax, 0x72
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
sub esi, dword [ebx + 0x1c]
sar esi, 1
mov dword [ebx + 0x54], esi
pop esi
pop ebx
call fcn.00623060
mov esp, ebp
pop ebp
ret