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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
xor eax, eax
xor ecx, ecx
push ebx
mov dword [ebp - 0x78], eax
xor edx, edx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x54], edx
mov eax, dword [edi + 0x80]
mov ebx, dword [edi + 0x7c]
mov dword [ebp - 0x70], eax
mov eax, dword [edi]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x50], edx
mov dword [ebp - 4], edx
mov ecx, dword [eax + 0x24]
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x58], eax
mov eax, esi
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x28], eax
mov eax, esi
shr eax, 2
and eax, 1
mov dword [ebp - 0x6c], ecx
and dword [ebp - 0x68], 8
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x10], edx
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x7c], edx
je 0x47d8b5
mov dword [ebx], 0x80090000
jmp 0x47d8c0
test cl, 4
je 0x47d8cd
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov dword [ebp - 8], ebx
test esi, 0x2000000
je 0x47d9b1
mov esi, dword [ebp + 8]
cmp esi, eax
jae 0x47fe9f
cmp ebx, dword [ebp - 0x70]
jae 0x47ff1f
cmp dword [ebp - 0x28], 0
mov edx, esi
movzx ecx, word [esi]
mov dword [ebp - 0x4c], ecx
lea esi, [edx + 2]
je 0x47d92e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47d92b
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 - 0x4c], ecx
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 0x64], 0
je 0x47d999
cmp dword [ebp - 0x38], 0
mov edi, ebx
je 0x47d965
mov ecx, dword [ebp + 0x14]
mov eax, edx
sub eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x38]
sar eax, 1
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
lea eax, [ebx - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x4c]
jne 0x47d965
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xc], 0xff
je 0x47d97f
mov dword [ebp - 0x38], 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 - 0x38]
sar edx, 1
mov dword [eax + 4], edx
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
jmp 0x47d99c
mov edx, dword [ebp - 0x38]
mov dword [ebx], ecx
add ebx, 4
cmp esi, eax
jb 0x47d8e4
mov edi, dword [ebp + 0x14]
jmp 0x47fe9f
mov ecx, dword [edi + 0x28]
add ecx, ecx
mov dword [ebp - 0x20], edx
mov eax, ecx
mov dword [ebp - 0x4c], 0xc
xor edx, edx
mov dword [ebp - 0x80], 0xfc00
div dword [ebp - 0x4c]
mov eax, dword [edi + 0x14]
sub eax, edx
mov dword [ebp - 0x84], 0xdc00
mov edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x4c], eax
mov ecx, esi
mov eax, esi
or ecx, 0x80
and eax, 0x1000000
cmove ecx, esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
jmp 0x47da10
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
nop word [eax + eax]
movzx eax, cx
mov dword [ebp - 0x98], eax
cmp esi, edx
jae 0x47fe7d
cmp ebx, dword [ebp - 0x70]
jae 0x47ff1f
mov edx, dword [edi]
movzx eax, cx
cmp eax, dword [edx + 0x20]
ja 0x47fe64
cmp dword [ebp - 0x28], 0
mov eax, esi
movzx edi, word [esi]
mov dword [ebp - 0xc], eax
mov ecx, edi
mov dword [ebp - 0x24], edi
lea esi, [eax + 2]
mov eax, esi
mov dword [ebp + 8], esi
mov dword [ebp - 0x14], eax
je 0x47da95
mov eax, edi
mov dword [ebp - 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47da92
movzx eax, word [esi]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
add edi, 0x10000
add esi, 2
mov eax, esi
mov dword [ebp - 0x24], edi
mov dword [ebp + 8], esi
mov ecx, edi
mov dword [ebp - 0x14], eax
jmp 0x47da95
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x44], 0
je 0x47db12
cmp ecx, 0x5c
jne 0x47dabc
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x47dabc
cmp word [esi], 0x45
jne 0x47dabc
mov dword [ebp - 0x44], 0
lea esi, [eax + 2]
jmp 0x47da04
cmp dword [ebp - 0x60], 0
jg case.0x47df07.34
cmp dword [ebp - 0x58], 0
jne 0x47daf7
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
dec ecx
mov dword [ebp - 0x5c], ecx
test eax, eax
jg 0x47daf7
push dword [ebp + 0x14]
lea eax, [ebp - 0x54]
push ebx
push dword [ebp - 0x64]
push eax
push dword [ebp - 0xc]
call fcn.0047d7b0
mov ebx, eax
add esp, 0x14
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x50], 0
jmp 0x47da01
cmp dword [ebp - 0x58], 0
je 0x47dc58
mov eax, dword [ebp - 0x1c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x47db77
cmp ecx, 0xff
jbe 0x47db46
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x47db46
cmp eax, 0x2029
jne 0x47db77
cmp ecx, 0x100
jae 0x47dc58
cmp ecx, 0x23
je 0x47dc58
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [edi + eax], 1
jne 0x47dc58
cmp ecx, 0x85
je 0x47dc58
cmp ecx, 0x29
je 0x47dc02
cmp ecx, 0x5c
je 0x47db99
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da01
mov ecx, dword [ebp - 0x1c]
test ecx, 0x400000
je 0x47dbd7
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push 0
push dword [edx + 0x24]
push ecx
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.00477910
mov ecx, dword [ebp - 0x18]
add esp, 0x20
test ecx, ecx
jne 0x47fdc4
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x24]
jmp 0x47dbd9
xor eax, eax
sub eax, 0
je case.0x47df5c.37
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
sub eax, 0x19
je 0x47f5a5
sub eax, 1
jne 0x47fb53
mov dword [ebp - 0x44], 1
jmp 0x47da04
mov eax, esi
mov dword [ebp - 0x58], 0
sub eax, dword [ebp - 0x7c]
sar eax, 1
dec eax
mov dword [ebp - 0x10], 0
cmp eax, 0xffff
jg 0x47fb6c
mov ecx, dword [ebp - 0x78]
mov eax, ebx
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov edi, dword [ebp + 0x14]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x47da10
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
mov dword [ebp - 0x74], 0
jmp 0x47da07
cmp ecx, 0x5c
jne 0x47dc85
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp + 0xc]
jae 0x47dc85
movzx eax, word [esi]
cmp eax, 0x51
je 0x47dc72
cmp eax, 0x45
jne 0x47dc85
xor ecx, ecx
lea esi, [edx + 2]
cmp eax, 0x51
sete cl
mov dword [ebp - 0x44], ecx
jmp 0x47da01
test byte [ebp - 0x1c], 0x80
je 0x47dd93
cmp ecx, 0x100
jae 0x47dca7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [edi + eax], 1
jne 0x47da01
cmp ecx, 0x85
je 0x47da01
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x47da01
cmp eax, 0x2029
je 0x47da01
cmp ecx, 0x23
jne 0x47dd93
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
cmp esi, edx
jae 0x47da10
nop dword [eax + eax]
mov eax, dword [edi + 0x90]
mov ecx, dword [edi + 0x20]
test eax, eax
je 0x47dd1f
cmp esi, ecx
jae 0x47dd4f
push dword [ebp - 0x28]
add edi, 0x94
push edi
push ecx
push eax
push esi
call fcn.0048e850
add esp, 0x14
test eax, eax
jne 0x47dd83
mov edi, dword [ebp + 0x14]
jmp 0x47dd4c
mov edx, dword [edi + 0x94]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x47dd4c
mov ax, word [esi]
cmp ax, word [edi + 0xa0]
jne 0x47dd4c
cmp edx, 1
je 0x47dd88
mov ax, word [esi + 2]
cmp ax, word [edi + 0xa2]
je 0x47dd88
mov edx, dword [ebp + 0xc]
add esi, 2
cmp dword [ebp - 0x28], 0
mov ecx, esi
je 0x47dd73
cmp esi, edx
jae 0x47dd73
mov ax, word [esi]
and ax, word [ebp - 0x80]
cmp ax, word [ebp - 0x84]
jne 0x47dd73
add esi, 2
mov ecx, esi
cmp ecx, edx
mov ecx, dword [ebp - 4]
jb 0x47dcf0
jmp 0x47da10
mov edx, dword [edi]
mov edi, dword [ebp + 0x14]
lea esi, [esi + edx*2]
mov edx, dword [ebp + 0xc]
jmp 0x47da07
cmp ecx, 0x28
jne 0x47ddd5
mov edx, dword [ebp + 0xc]
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x47de07
cmp word [esi], 0x3f
jne 0x47de07
cmp word [esi + 2], 0x23
jne 0x47de07
add esi, 2
cmp esi, edx
jae 0x47fb8b
cmp word [esi], 0x29
jne 0x47ddb4
cmp esi, edx
jae 0x47fb8b
add esi, 2
jmp 0x47da04
cmp ecx, 0x2a
je 0x47de35
cmp ecx, 0x2b
je 0x47de35
cmp ecx, 0x3f
je 0x47de35
cmp ecx, 0x7b
jne 0x47de07
lea eax, [ebp - 0x18]
mov dword [ebp - 0x40], esi
push eax
push 0
push 0
push dword [ebp + 0xc]
lea eax, [ebp - 0x40]
push eax
call fcn.004817f0
add esp, 0x14
test eax, eax
jne 0x47de35
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
dec ecx
mov dword [ebp - 0x5c], ecx
test eax, eax
jg 0x47de35
push dword [ebp + 0x14]
lea eax, [ebp - 0x54]
push ebx
push dword [ebp - 0x64]
push eax
push dword [ebp - 0xc]
call fcn.0047d7b0
mov ebx, eax
add esp, 0x14
mov eax, dword [ebp - 0x54]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x60]
test edx, edx
jle 0x47de96
cmp edi, 0x28
jne case.0x47df07.34
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x47df07.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x47de69
cmp eax, 0x2a
jne case.0x47df07.34
cmp eax, 0x2a
movzx eax, word [esi + 2]
jne 0x47def8
mov ecx, 0xff
cmp ax, cx
ja case.0x47df07.34
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
je case.0x47df07.34
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
xor edx, edx
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x48], eax
mov eax, edx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x50], 0
test eax, eax
je 0x47df49
cmp edi, 0x3f
je 0x47decc
cmp edi, 0x2b
jne 0x47df49
cmp edi, 0x3f
mov ecx, 0x10000
mov edi, 0x20000
cmove ecx, edi
add ecx, eax
xor eax, eax
cmp edx, 0x803b0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + ebx], ecx
jmp 0x47da01
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x47df07.34
movzx eax, byte [eax + 0x47ff78]
jmp dword [eax*4 + 0x47ff68]
movzx eax, word [esi + 4]
cmp eax, 0x3d
je case.0x47df07.33
cmp eax, 0x21
je case.0x47df07.33
mov esi, dword [ebp - 0x14]
add esi, 0xfffffffe
mov eax, dword [ebp + 0x14]
mov ecx, 0x80
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 2
jne case.0x47df07.34
jmp case.0x47df07.33
lea eax, [edi - 0x24]
cmp eax, 0x58
ja case.0x47df5c.37
movzx eax, byte [eax + 0x47ffd0]
jmp dword [eax*4 + 0x47ff9c]
mov eax, dword [ebp + 0x14]
mov edi, esi
push eax
push 0
mov dword [ebp - 0x40], edi
mov eax, dword [eax]
push dword [eax + 0x24]
lea eax, [ebp - 0x18]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
lea eax, [ebp + 8]
push eax
call fcn.00477910
mov ecx, dword [ebp - 0x18]
add esp, 0x20
mov esi, dword [ebp + 8]
mov edx, eax
mov dword [ebp - 0xc], eax
test ecx, ecx
jne 0x47dfa2
mov ecx, dword [ebp - 0x24]
jmp 0x47e000
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp + 0xc]
test byte [ebp - 0x6c], 2
je 0x47ff53
mov esi, edi
mov dword [ebp + 8], esi
cmp edi, edx
jb 0x47dfbf
mov ecx, 0x5c
jmp 0x47dffb
cmp dword [ebp - 0x28], 0
lea esi, [edi + 2]
movzx ecx, word [edi]
mov dword [ebp + 8], esi
je 0x47dffb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47dffb
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 + 8], esi
xor edx, edx
mov dword [ebp - 0xc], edx
test edx, edx
je 0x47e2f8
js 0x47e29c
lea eax, [edx - 6]
cmp eax, 0x16
ja case.0x47e021.13
movzx eax, byte [eax + 0x480044]
jmp dword [eax*4 + 0x48002c]
test dword [ebp - 0x1c], 0x100000
je case.0x47e021.12
mov ecx, 0xb7
mov dword [ebp - 0x18], ecx
jmp 0x47dfa2
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0047d2a0
add esp, 0x18
test eax, eax
jne 0x47e179
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
jmp 0x47dfa2
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x47e161
movzx eax, word [esi]
cmp eax, 0x7b
je 0x47e0a6
cmp eax, 0x3c
je 0x47e0ab
cmp eax, 0x27
jne 0x47e161
cmp eax, 0x3c
jne 0x47e0b2
mov edi, 0x3e
jmp 0x47e0c2
cmp eax, 0x27
mov edi, 0x7d
mov eax, 0x27
cmove edi, eax
cmp edx, 0x1b
jne 0x47e12e
cmp edi, 0x7d
je 0x47e12e
lea eax, [esi + 2]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp - 0x14]
push ecx
push eax
call fcn.004816c0
add esp, 0x1c
test eax, eax
je 0x47e120
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jae 0x47e110
movzx eax, word [ecx]
cmp eax, edi
je 0x47e1c0
mov edi, dword [ebp - 0x40]
mov ecx, 0x9d
mov dword [ebp - 0x18], ecx
jmp 0x47dfa5
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x47df9f
mov ecx, dword [ebp + 0xc]
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push edi
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push ecx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
jne 0x47e1ca
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
jmp 0x47df9f
cmp edx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x47dfa2
cmp dword [ebp - 0x88], 0
je 0x47e190
xor eax, eax
cmp dword [ebp - 0xc], 0xf
sete al
lea ecx, [eax + 0xf]
jmp 0x47e193
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
lea eax, [ecx - 0x7fe80000]
movzx ecx, word [ebp - 0x14]
mov dword [ebx], eax
movzx eax, word [ebp - 0x24]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x10], 1
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x47da01
mov eax, dword [ebp - 0x2c]
mov esi, ecx
jmp 0x47f80f
cmp dword [ebp - 0xc], 0x1c
je 0x47e1da
mov eax, 0x80210000
cmp edi, 0x7d
jne 0x47e1df
mov eax, 0x80040000
mov edi, dword [ebp + 0x14]
mov dword [ebx], eax
jmp 0x47efe3
mov dword [ebp - 0x10], 1
lea eax, [edx - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da01
test dword [ebp - 0x1c], 0x20000
mov dword [ebp - 0x10], 1
jne 0x47e226
lea eax, [edx - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da01
cmp edx, 7
je 0x47e23a
cmp edx, 9
je 0x47e23a
mov eax, 0x8018000f
cmp edx, 0xb
jne 0x47e23f
mov eax, 0x80180010
mov edi, dword [ebp + 0x14]
add edx, 0xfffffffa
mov ecx, dword [ebp - 4]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp edx, 5
ja case.default.0x47e259
jmp dword [edx*4 + 0x48005c]
mov edx, dword [ebp + 0xc]
mov dword [ebx], 0x3000d
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov edx, dword [ebp + 0xc]
mov dword [ebx], 0x60000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov edx, dword [ebp + 0xc]
mov dword [ebx], 0x80000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
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 - 0x34], ecx
mov dword [ebp - 8], ebx
cmp edx, 0xa
jge 0x47e2da
cmp dword [edi + edx*4 + 0x2c], 0xffffffff
jne 0x47e2e2
mov dword [edi + edx*4 + 0x2c], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 1
jmp 0x47da07
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], 1
nop dword [eax]
mov edx, dword [ebp + 0xc]
jmp 0x47da07
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da01
mov dword [ebx], 0x80090000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da01
mov dword [ebx], 0x80160000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da01
mov dword [ebx], 0x80170000
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da01
mov eax, 0x80320000
jmp 0x47e3a8
mov eax, 0x80350000
jmp 0x47e3a8
mov eax, 0x80380000
jmp 0x47e3a8
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x8c]
push eax
push ecx
lea eax, [ebp + 8]
push eax
call fcn.004817f0
add esp, 0x14
test eax, eax
jne 0x47e3a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x47fdc4
mov esi, dword [ebp + 8]
mov dword [ebx], edi
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da01
mov esi, dword [ebp + 8]
mov eax, 0x803b0000
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x48], 0
je 0x47fba4
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ebx], eax
add ebx, 4
cmp edi, 0x7b
mov dword [ebp - 8], ebx
mov edi, dword [ebp + 0x14]
jne 0x47da10
mov eax, dword [ebp - 0x8c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x90]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x47da07
mov edx, dword [ebp + 0xc]
mov eax, edx
sub eax, esi
mov dword [ebp - 0x10], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x47e4ab
push 6
push 0x4aa1cc
push esi
call fcn.0048eb10
add esp, 0xc
test eax, eax
je 0x47e42d
push 6
push str._:_:__
push esi
call fcn.0048eb10
add esp, 0xc
test eax, eax
jne 0x47e4a8
mov dword [ebx], 0x80180005
lea eax, [ebx + 8]
cmp word [esi + 4], 0x3c
jne 0x47e446
mov dword [ebx + 4], 0x80230000
jmp 0x47e45f
mov ecx, dword [ebp + 0x10]
mov dword [ebx + 4], 0x80250000
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [ebp - 0x1c], 0x20000
lea ebx, [eax + 4]
jne 0x47e485
mov dword [eax], 0x8018000b
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
mov dword [ebp - 8], ebx
jmp 0x47da01
mov dword [eax], 0x80180010
mov dword [ebx], 0x80000
add ebx, 4
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
mov dword [ebp - 8], ebx
jmp 0x47da01
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x47e4da
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47e4c1
cmp eax, 0x2e
je 0x47e4c1
cmp eax, 0x3d
jne 0x47e4da
lea eax, [ebp - 0x40]
push eax
push edx
push esi
call fcn.00478fd0
add esp, 0xc
test eax, eax
jne 0x47fbc0
mov edx, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp esi, edx
jae 0x47e5da
mov ebx, dword [ebp - 0x28]
nop word [eax + eax]
movzx edi, word [esi]
add esi, 2
mov dword [ebp - 0x24], edi
mov edx, esi
mov dword [ebp + 8], esi
mov ecx, edi
mov dword [ebp - 0xc], edx
test ebx, ebx
je 0x47e544
mov eax, edi
mov dword [ebp - 0xc], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47e541
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov edx, esi
mov dword [ebp - 0x24], edi
mov dword [ebp + 8], esi
mov ecx, edi
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x14]
cmp ecx, 0x5c
jne 0x47e59f
mov ebx, dword [ebp + 0xc]
cmp edx, ebx
jae 0x47e569
cmp word [esi], 0x45
jne 0x47e569
mov ebx, dword [ebp - 0x28]
mov eax, 2
lea esi, [eax + edx]
mov eax, dword [ebp - 0x14]
mov dword [ebp + 8], esi
jmp 0x47e5c3
mov eax, ebx
sub eax, edx
and eax, 0xfffffffe
cmp eax, 6
jl 0x47e5d5
push 3
push 0x4aa1dc
push esi
call fcn.0048eb10
add esp, 0xc
test eax, eax
jne 0x47e5d5
mov edx, dword [ebp - 0xc]
mov eax, 6
mov ebx, dword [ebp - 0x28]
lea esi, [eax + edx]
mov eax, dword [ebp - 0x14]
mov dword [ebp + 8], esi
jmp 0x47e5c3
test dword [ebp - 0x1c], 0x1000000
je 0x47e5b2
cmp ecx, 0x20
je 0x47e5c3
cmp ecx, 9
je 0x47e5c3
test eax, eax
jne 0x47e5d0
cmp ecx, 0x5e
jne 0x47e5d0
mov eax, 1
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 0xc]
cmp esi, edx
jb 0x47e4f0
jmp 0x47e5d7
mov edx, dword [ebp + 0xc]
jmp 0x47e5d7
mov edx, ebx
mov ebx, dword [ebp - 8]
cmp edi, 0x5d
jne 0x47e606
mov eax, dword [ebp + 0x14]
test byte [eax + 0x6c], 1
je 0x47e606
cmp dword [ebp - 0x14], 0
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da04
cmp dword [ebp - 0x14], 0
mov eax, 0x800a0000
mov ecx, 0x800e0000
cmovne eax, ecx
mov dword [ebx], eax
add ebx, 4
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov ecx, 1
mov dword [ebp - 0x48], ecx
test eax, eax
je 0x47e667
cmp edi, 0x5c
jne 0x47eaf9
cmp esi, dword [ebp + 0xc]
jae 0x47eaf9
cmp word [esi], 0x45
jne 0x47eaf9
mov dword [ebp - 0x44], 0
add esi, 2
jmp 0x47e915
test dword [ebp - 0x1c], 0x1000000
je 0x47e682
cmp edi, 0x20
je 0x47e915
cmp edi, 9
je 0x47e915
cmp edi, 0x5b
jne 0x47e808
mov eax, dword [ebp + 0xc]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x47eaf9
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47e6b2
cmp eax, 0x2e
je 0x47e6b2
cmp eax, 0x3d
jne 0x47eaf9
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 0xc]
push esi
call fcn.00478fd0
add esp, 0xc
test eax, eax
je 0x47eaf3
cmp dword [ebp - 0x10], 1
mov dword [ebp - 0xc], 0
je 0x47eada
cmp word [esi], 0x3a
jne 0x47fbe8
add esi, 2
mov edx, esi
cmp word [esi], 0x5e
jne 0x47e6fc
add esi, 2
mov dword [ebp - 0xc], 1
mov edx, esi
mov ebx, dword [ebp - 0x40]
mov ecx, str.alpha
sub ebx, edx
mov dword [ebp - 0x14], ecx
sar ebx, 1
xor edi, edi
nop dword [eax]
movzx eax, byte [edi + 0x4a9f98]
cmp ebx, eax
jne 0x47e72f
push ebx
push ecx
push edx
call fcn.0048eb10
add esp, 0xc
test eax, eax
je 0x47e75f
mov ecx, dword [ebp - 0x14]
mov edx, esi
movzx eax, byte [edi + 0x4a9f98]
inc ecx
inc edi
add ecx, eax
mov dword [ebp - 0x14], ecx
cmp byte [edi + 0x4a9f98], 0
jne 0x47e710
mov eax, dword [ebp + 0x14]
mov ecx, 0x82
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
js 0x47e746
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp + 0xc]
add esi, 4
add eax, 0xfffffffe
cmp esi, eax
jae 0x47e784
cmp word [esi], 0x2d
jne 0x47e784
cmp word [esi + 2], 0x5d
jne 0x47eada
xor edx, edx
test dword [ebp - 0x1c], 0x20000
mov dword [ebp - 0x10], edx
je 0x47e7ea
mov eax, dword [edi*8 + 0x4f8068]
mov edx, dword [edi*8 + 0x4f806c]
test eax, eax
js 0x47e7c8
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
xor ecx, 1
shl eax, 0x10
sub ecx, 0x7fe7fff1
or eax, edx
mov dword [ebx], ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x47e912
test edx, edx
mov edx, dword [ebp - 0x10]
je 0x47e7ea
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47e915
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
add eax, 0x801c
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edi
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x47e915
cmp edi, 0x2d
jne 0x47e83b
cmp edx, 2
jb 0x47eaf9
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, 1
cmove eax, ecx
mov dword [ebp - 0x10], edx
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47e915
cmp edi, 0x5c
jne 0x47eaf9
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
push eax
push 1
mov eax, dword [eax]
mov dword [ebp - 0x40], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x18]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 8]
push edi
push eax
call fcn.00477910
mov ecx, dword [ebp - 0x18]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x47e8d2
test byte [ebp - 0x6c], 2
je 0x47fdc4
mov dword [ebp + 8], esi
cmp esi, edi
jb 0x47e890
mov edi, 0x5c
xor ebx, ebx
jmp 0x47e8e1
cmp dword [ebp - 0x28], 0
lea ecx, [esi + 2]
movzx edi, word [esi]
mov esi, ecx
mov dword [ebp + 8], esi
je 0x47e8ce
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47e8ce
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
lea esi, [ecx + 2]
and eax, 0x3ff
mov dword [ebp + 8], esi
or edi, eax
add edi, 0x10000
xor ebx, ebx
jmp 0x47e8e1
mov esi, dword [ebp + 8]
cmp ebx, 0x1a
ja case.0x47e8e8.1
mov edi, dword [ebp - 0x24]
movzx eax, byte [ebx + 0x48008c]
jmp dword [eax*4 + 0x480074]
mov ebx, dword [ebp - 8]
xor ecx, ecx
jmp 0x47eaf6
mov ebx, dword [ebp - 8]
mov edi, 8
xor ecx, ecx
jmp 0x47eaf6
mov dword [ebp - 0x44], 1
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
cmp esi, dword [ebp + 0xc]
jae 0x47fc55
movzx edi, word [esi]
add esi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edi
mov dword [ebp - 0x24], edi
mov dword [ebp + 8], esi
je 0x47e964
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x47e964
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 - 0x24], edi
mov ecx, edi
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x44]
cmp ecx, 0x5d
jne 0x47e630
test eax, eax
jne 0x47e630
cmp edx, 1
jne 0x47e984
mov dword [ebx - 4], 0x2d
mov dword [ebx], 0x800d0000
add ebx, 4
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da01
cmp dword [ebp - 0x10], 1
je 0x47eada
xor edx, edx
lea ecx, [ebx - 6]
mov dword [ebp - 0x10], edx
cmp ecx, 0xf
ja case.0x47e9be.13
movzx eax, byte [ecx + 0x4800bc]
jmp dword [eax*4 + 0x4800a8]
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
add ebx, 4
jmp 0x47eab4
test dword [ebp - 0x1c], 0x20000
jne 0x47e9f4
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
add ebx, 4
jmp 0x47eab4
cmp ebx, 7
je 0x47ea08
cmp ebx, 9
je 0x47ea08
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x47ea0d
mov eax, 0x80180010
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
cmp ecx, 5
ja case.default.0x47ea21
jmp dword [ecx*4 + 0x4800cc]
mov dword [ebx], 0x3000d
add ebx, 4
jmp 0x47eab4
mov dword [ebx], 0x60000
add ebx, 4
jmp 0x47eab4
mov dword [ebx], 0x80000
add ebx, 4
jmp 0x47eab4
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
mov dword [ebp - 0xc], edx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], edx
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0047d2a0
add esp, 0x18
test eax, eax
je 0x47fcb9
cmp dword [ebp - 0x94], 0
je 0x47ea90
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [ebp - 0xc]
lea eax, [ebx - 0x7fe80000]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
shl ecx, 0x10
mov dword [ebx], eax
movzx eax, word [ebp - 0x14]
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 8], ebx
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
cmp esi, eax
jae 0x47e915
cmp word [esi], 0x2d
jne 0x47e915
cmp word [esi + 2], 0x5d
je 0x47e915
mov eax, dword [ebp + 0x14]
mov ecx, 0x96
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x10]
cmp edx, 1
jne 0x47eb47
cmp edi, dword [ebx - 8]
jne 0x47eb17
mov eax, 0xfffffffc
xor edx, edx
add ebx, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ebx
jmp 0x47e915
jb 0x47fc39
test ecx, ecx
jne 0x47eb31
cmp dword [ebx - 4], 0x801f0000
jne 0x47eb31
mov dword [ebx - 4], 0x801e0000
mov eax, 4
mov dword [ebx], edi
xor edx, edx
add ebx, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ebx
jmp 0x47e915
mov eax, 4
mov dword [ebx], edi
lea edx, [ecx + 2]
add ebx, eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ebx
jmp 0x47e915
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x47ff4e
movzx eax, word [esi]
cmp eax, 0x3f
je 0x47eeb3
mov edi, dword [ebp + 0x14]
cmp eax, 0x2a
je 0x47ebb3
inc dword [ebp - 4]
test dword [ebp - 0x1c], 0x2000
jne 0x47eba1
inc dword [edi + 0x74]
mov eax, dword [edi + 0x74]
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov eax, 0x801a0000
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov ecx, dword [ebp - 4]
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47da10
movzx ecx, word [esi + 2]
cmp ecx, 0x29
je 0x47da07
cmp ecx, 0xff
ja 0x47ed7b
mov eax, dword [edi + 0x10]
test byte [ecx + eax], 4
je 0x47ed7b
push edi
lea eax, [ebp - 0x18]
mov dword [ebp - 0x48], 0x4a9c88
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp + 0xc]
jae 0x47fc6e
cmp word [esi], 0x3a
jne 0x47fc6e
mov esi, dword [ebp - 0x48]
xor edi, edi
mov dword [ebp - 0x2c], edi
xor ebx, ebx
mov eax, dword [ebp - 0x30]
cmp eax, dword [edi*8 + 0x4a9d18]
jne 0x47ec5e
push eax
push esi
push dword [ebp - 0x3c]
call fcn.0048eb10
add esp, 0xc
test eax, eax
je 0x47ec71
inc esi
add esi, dword [edi*8 + 0x4a9d18]
inc edi
mov dword [ebp - 0x2c], edi
mov ebx, edi
cmp edi, 0xd
jl 0x47ec41
mov esi, dword [ebp - 0x14]
cmp ebx, 0xd
mov ebx, dword [ebp - 8]
jge 0x47fc6e
mov edx, dword [edi*8 + 0x4a9d1c]
mov edi, dword [ebp - 0xc]
test edi, edi
jle 0x47ec9f
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x47df26
cmp edx, 0x80240000
ja 0x47ece6
je 0x47f4ef
cmp edx, 0x80020000
je 0x47f4ba
cmp edx, 0x80220000
je 0x47ed02
cmp edx, 0x80230000
je 0x47f4de
mov eax, dword [ebp + 0x14]
mov ecx, 0xbd
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80250000
je 0x47ed73
cmp edx, 0x80260000
je 0x47ed73
cmp edx, 0x8fff0000
jne 0x47eccd
mov ecx, dword [ebp - 4]
add esi, 2
mov edi, dword [ebp + 0x14]
inc ecx
mov dword [ebx], 0x80220000
add ebx, 4
cmp edx, 0x8fff0000
mov dword [ebp - 8], ebx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
jne 0x47da10
mov ecx, dword [ebp - 0x20]
mov dword [ebx], 0x80020000
add ebx, 4
mov dword [ebp - 8], ebx
test ecx, ecx
jne 0x47ed45
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x20], ecx
jmp 0x47ed54
add ecx, 0xc
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp - 0x4c]
jae 0x47fe2f
mov eax, dword [ebp - 4]
mov word [ecx], ax
mov eax, 4
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x1c]
and eax, 0x10424e8
mov dword [ecx + 8], eax
jmp 0x47da07
sub esi, 2
jmp 0x47f532
push edi
lea eax, [ebp - 0x18]
mov dword [ebp - 0x48], 0x4a9be8
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp + 0xc]
jae 0x47fe83
movzx eax, word [esi]
cmp eax, 0x3a
je 0x47edcd
cmp eax, 0x29
jne 0x47fe83
mov esi, dword [ebp - 0x48]
xor edi, edi
mov ecx, 0x4a9c18
mov dword [ebp - 0x2c], edi
xor ebx, ebx
mov dword [ebp - 0xc], ecx
nop
mov eax, dword [ebp - 0x30]
cmp eax, dword [ecx]
jne 0x47edfb
push eax
push esi
push dword [ebp - 0x3c]
call fcn.0048eb10
add esp, 0xc
test eax, eax
je 0x47ee0f
mov ecx, dword [ebp - 0xc]
inc esi
inc edi
add esi, dword [ecx]
mov ebx, edi
add ecx, 0xc
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0xc], ecx
cmp edi, 9
jl 0x47ede0
mov esi, dword [ebp - 0x14]
cmp ebx, 9
mov ebx, dword [ebp - 8]
jge 0x47fe83
cmp word [esi], 0x3a
jne 0x47ee33
lea eax, [esi + 2]
cmp eax, dword [ebp + 0xc]
jae 0x47ee33
cmp word [eax], 0x29
cmove esi, eax
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x4a9c20]
test edi, edi
jle 0x47ee4b
cmp word [esi], 0x3a
jne 0x47fc87
movzx eax, word [esi]
lea edx, [ebx + 4]
add esi, 2
cmp eax, 0x3a
jne 0x47eea0
mov ecx, dword [ecx*4 + 0x4a9c1c]
test edi, edi
jns 0x47ee6e
mov dword [ebp - 0x74], ecx
mov eax, 0x80270000
jmp 0x47ee80
xor eax, eax
mov edi, 0x10000
cmp ecx, 0x80270000
cmovne eax, edi
add eax, ecx
mov edi, dword [ebp + 0x14]
mov dword [ebx], eax
lea ebx, [edx + 4]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x58], 1
jmp 0x47da07
mov eax, dword [ecx*4 + 0x4a9c1c]
mov dword [ebx], eax
mov ebx, edx
mov dword [ebp - 8], ebx
jmp 0x47da01
add esi, 2
mov dword [ebp + 8], esi
cmp esi, edx
jae 0x47ff4e
movzx ecx, word [esi]
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x47eed7.34
movzx eax, byte [eax + 0x480118]
jmp dword [eax*4 + 0x4800e4]
add esi, 2
mov dword [ebp + 8], esi
cmp esi, edx
jae 0x47ff4e
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x47eefe
mov eax, 0x3e
jmp 0x47f5b2
cmp eax, 0x3e
je case.0x47eed7.38
cmp eax, 0x3d
jne 0x47fca0
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push edi
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x29
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
mov dword [ebx], 0x80040000
jmp 0x47efe3
xor eax, eax
add esi, 2
mov dword [ebp - 0x2c], eax
cmp esi, edx
jae 0x47ef5f
cmp word [esi], 0x29
je 0x47f80f
mov eax, dword [ebp + 0x14]
mov ecx, 0x9e
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x47ef96
movzx eax, word [esi + 2]
cmp eax, 0x30
jb 0x47ef96
cmp eax, 0x39
jbe case.0x47eed7.48
mov eax, dword [ebp + 0x14]
mov ecx, 0x81
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push edi
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x29
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
mov dword [ebx], 0x80210000
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], ebx
jmp 0x47da07
lea edx, [esi + 2]
mov esi, edx
cmp edx, dword [ebp + 0xc]
jae 0x47ff4e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x60], eax
test ecx, ecx
je 0x47f03a
test byte [ebp - 0x1c], 4
je 0x47f03a
lea eax, [ebx - 0x10]
cmp ecx, eax
jne 0x47f03a
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx edi, word [esi]
mov eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 1
cmp edi, 0x29
je 0x47f0ef
cmp edi, 0x30
jb 0x47f063
cmp edi, 0x39
jbe 0x47f0ef
mov ecx, dword [str.____]
xor eax, eax
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x47f085
cmp edi, ecx
je 0x47f09e
mov ecx, dword [eax*4 + 0x4aa630]
inc eax
mov dword [ebp - 0x2c], eax
test ecx, ecx
jne 0x47f072
mov eax, dword [ebp + 0x14]
mov ecx, 0xb6
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax*4 + 0x4aa608]
test ecx, ecx
je 0x47f085
mov edi, dword [ebp + 0xc]
mov dword [ebx], 0x80070000
add esi, 2
cmp esi, edi
jae 0x47fcd3
movzx eax, word [esi]
cmp eax, ecx
jne 0x47f0b2
add esi, 2
cmp esi, edi
jae 0x47f0d2
movzx eax, word [esi]
cmp eax, ecx
je 0x47f0b2
mov edi, dword [ebp + 0x14]
mov eax, esi
sub eax, edx
mov ecx, esi
sar eax, 1
mov dword [ebx + 0xc], eax
add ebx, 0x10
sub edx, dword [edi + 0x1c]
sar edx, 1
mov dword [ebp - 0x34], edx
mov dword [ebx], edx
jmp 0x47f135
xor edi, edi
mov dword [ebx], 0x80060000
add ebx, 0xc
nop word [eax + eax]
movzx eax, word [esi]
mov ecx, edx
cmp eax, 0x30
jb 0x47f130
cmp eax, 0x39
ja 0x47f130
lea ecx, [edi - 6]
lea ecx, [edi + ecx*4]
lea edi, [eax + ecx*2]
lea esi, [edx + 2]
mov ecx, esi
cmp edi, 0xff
jg 0x47fcee
mov edx, esi
cmp esi, dword [ebp + 0xc]
jb 0x47f100
mov dword [ebx], edi
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jae 0x47fd07
cmp word [esi], 0x29
jne 0x47fd07
lea esi, [ecx + 2]
mov ecx, dword [ebp - 0x38]
mov eax, esi
sub eax, dword [edi + 0x1c]
sar eax, 1
add ebx, 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
mov dword [ebp - 8], ebx
jmp 0x47da07
add esi, 2
mov dword [ebp + 8], esi
cmp esi, edx
jae 0x47ff4e
mov ecx, dword [ebp - 4]
movzx eax, word [esi]
inc ecx
mov dword [ebp - 4], ecx
cmp eax, 0x3f
je 0x47f49c
cmp eax, 0x2a
je 0x47f49c
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0xa1
push 0xffff
push dword [edi + 0x74]
lea eax, [ebp + 8]
push edx
push eax
call fcn.004816c0
add esp, 0x1c
test eax, eax
je 0x47f1ee
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp + 8]
test ecx, ecx
jle 0x47fd20
mov dword [ebx], 0x80120000
mov eax, esi
sub eax, dword [edi + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x34], eax
jmp 0x47f479
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x47fdc4
mov edx, dword [ebp + 0xc]
mov eax, edx
mov edi, dword [ebp + 8]
sub eax, edi
sar eax, 1
mov dword [ebp - 0xc], eax
cmp eax, 0xa
jl 0x47f333
push 7
push str.VERSION
push edi
call fcn.0048eb10
add esp, 0xc
test eax, eax
jne 0x47f32d
cmp word [edi + 0xe], 0x29
lea esi, [edi + 0xe]
je 0x47f32d
xor edi, edi
mov dword [ebp - 0xc], eax
cmp word [esi], 0x3e
mov dword [ebp - 0x14], eax
mov eax, esi
jne 0x47f253
add esi, 2
mov dword [ebp - 0xc], 1
mov eax, esi
cmp word [esi], 0x3d
jne 0x47fd39
lea esi, [eax + 2]
movzx eax, word [esi]
mov dword [ebp + 8], esi
cmp eax, 0x30
jb 0x47fd39
cmp eax, 0x39
ja 0x47fd39
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.004816c0
add esp, 0x1c
test eax, eax
je 0x47fcb9
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x47fd39
cmp word [esi], 0x2e
jne 0x47f30e
add esi, 2
cmp esi, edx
jae 0x47fd39
movzx eax, word [esi]
cmp eax, 0x30
jb 0x47fd39
cmp eax, 0x39
ja 0x47fd39
movzx ecx, word [esi + 2]
sub eax, 0x30
add esi, 2
lea edi, [eax + eax*4]
mov eax, esi
add edi, edi
cmp ecx, 0x30
jb 0x47f2fc
cmp ecx, 0x39
ja 0x47f2fc
lea eax, [ecx - 0x30]
add edi, eax
lea eax, [esi + 2]
mov esi, eax
cmp eax, edx
jae 0x47fd39
cmp word [esi], 0x29
jne 0x47fd39
mov eax, dword [ebp - 0xc]
mov dword [ebx], 0x80150000
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebx], edi
mov edi, dword [ebp + 0x14]
jmp 0x47f47c
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
movzx ecx, word [edi]
mov dword [ebp - 0xc], 0
cmp ecx, 0x52
jne 0x47f359
cmp eax, 1
jle 0x47f359
cmp word [edi + 2], 0x26
lea eax, [edi + 2]
jne 0x47f359
lea edi, [ecx - 0x51]
mov dword [ebp + 8], eax
jmp 0x47f37b
cmp ecx, 0x3c
jne 0x47f366
mov edi, dword [ebp - 0xc]
lea esi, [ecx + 2]
jmp 0x47f380
cmp ecx, 0x27
jne 0x47f372
mov edi, dword [ebp - 0xc]
mov esi, ecx
jmp 0x47f380
sub edi, 2
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0xc]
mov esi, 0x29
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
test edi, edi
je 0x47f3c7
mov esi, dword [ebp + 8]
mov dword [ebx], 0x80130000
sub esi, 2
jmp 0x47f460
cmp esi, 0x29
jne 0x47f457
mov edi, dword [ebp - 0x3c]
cmp edx, 6
jne 0x47f401
push 6
push str.DEFINE
push edi
call fcn.0048eb10
add esp, 0xc
test eax, eax
jne 0x47f3fe
mov eax, 0x80100000
mov dword [ebx], eax
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
sub esi, 2
jmp 0x47f460
mov edx, dword [ebp - 0xc]
mov eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, eax
cmp edx, eax
jle 0x47f436
mov ebx, dword [ebp - 0xc]
mov esi, eax
movzx edx, word [edi + eax*2]
mov ecx, esi
cmp edx, 0x30
jb 0x47f430
cmp edx, 0x39
ja 0x47f430
inc eax
mov dword [ebp - 0x2c], eax
mov ecx, eax
mov esi, ecx
cmp eax, ebx
jl 0x47f414
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
cmp word [edi], 0x52
jne 0x47f445
mov eax, 0x80140000
cmp ecx, edx
jge 0x47f44a
mov eax, 0x80110000
mov dword [ebx], eax
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
sub esi, 2
jmp 0x47f460
mov esi, dword [ebp + 8]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x47f471
mov dword [ebx], edx
add ebx, 4
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + 0x14]
mov dword [ebx], eax
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x47fd52
cmp word [esi], 0x29
jne 0x47fd52
add esi, 2
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov edi, dword [ebp + 0x14]
mov dword [ebx], 0x800f0000
add ebx, 4
mov dword [ebp - 8], ebx
add esi, 0xfffffffe
mov dword [ebp - 0x60], 2
jmp 0x47da10
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x14]
inc ecx
mov dword [ebx], 0x80020000
add ebx, 4
mov dword [ebp - 8], ebx
add esi, 2
mov dword [ebp - 4], ecx
jmp 0x47da10
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
add esi, 2
mov dword [ebx], 0x80230000
jmp 0x47f556
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
add esi, 2
mov dword [ebx], 0x80240000
jmp 0x47f556
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47eef4
movzx eax, word [esi + 2]
cmp eax, 0x3d
je 0x47f51f
cmp eax, 0x21
jne 0x47eef4
mov edi, dword [ebp - 0xc]
cmp eax, 0x3d
mov edx, 0x80260000
mov eax, 0x80250000
cmove edx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebx], edx
mov edx, dword [ebp + 0x14]
mov dword [eax], 1
mov eax, esi
add esi, 4
sub eax, dword [edx + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 4], eax
add ebx, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 4]
add ebx, 4
inc ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ecx
test edi, edi
jle 0x47f5a2
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x47f576
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x20], ecx
jmp 0x47f585
add ecx, 0xc
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp - 0x4c]
jae 0x47fe2f
mov eax, dword [ebp - 4]
mov word [ecx], ax
mov eax, 2
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x1c]
and eax, 0x10424e8
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
jmp 0x47da10
mov eax, 0x27
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x18]
push edi
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
push dword [ebp - 0x28]
lea eax, [ebp + 8]
push edx
push eax
call fcn.00481470
add esp, 0x24
test eax, eax
je 0x47fcb9
inc dword [edi + 0x74]
mov eax, dword [edi + 0x74]
inc dword [ebp - 4]
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
movzx edx, word [edi + 0x58]
mov eax, 0x2710
mov dword [ebp - 8], ebx
cmp dx, ax
jae 0x47fdbf
mov esi, dword [ebp - 0x30]
movzx eax, word [edi + 0x5a]
lea ecx, [esi + 2]
cmp ecx, eax
jbe 0x47f61c
lea eax, [esi + 2]
mov word [edi + 0x5a], ax
mov esi, dword [edi + 0x64]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], 0
xor edi, edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x2c], ecx
cmp ax, dx
jae 0x47f6a9
movzx eax, word [esi + 8]
mov edx, dword [ebp - 0x30]
cmp edx, eax
jne 0x47f683
push edx
push dword [esi]
push dword [ebp - 0x3c]
call fcn.0048ead0
add esp, 0xc
test eax, eax
jne 0x47f680
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x47f6ac
test byte [ebp - 0x1c], 0x40
je 0x47fd6b
mov eax, 1
mov word [esi + 0xa], ax
mov dword [ecx + 0xbc], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
jmp 0x47f692
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [edx + 0x74]
je 0x47fd87
mov eax, dword [ebp + 0x14]
inc ecx
add esi, 0xc
mov dword [ebp - 0xc], ecx
mov edi, ecx
mov dword [ebp - 0x2c], ecx
movzx eax, word [eax + 0x58]
cmp ecx, eax
jl 0x47f637
mov ecx, dword [ebp + 0x14]
movzx eax, word [ecx + 0x58]
mov ecx, eax
cmp edi, ecx
jge 0x47f6be
mov esi, dword [ebp + 8]
jmp 0x47da01
mov edi, dword [ebp + 0x14]
mov edx, dword [edi + 0x68]
cmp ecx, edx
jb 0x47f72d
mov eax, dword [ebp + 0x14]
lea edi, [edx + edx]
mov ecx, dword [eax]
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 0x47fda3
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [eax + 0x64]
push esi
call fcn.00491d50
mov ecx, dword [ebp + 0x14]
add esp, 0xc
cmp dword [ecx + 0x68], 0x14
jbe 0x47f720
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 + 0x68], edi
mov edi, dword [ebp + 0x14]
mov dword [ecx + 0x64], esi
movzx eax, word [edi + 0x58]
mov edx, dword [ebp - 0x3c]
movzx eax, ax
mov esi, dword [ebp + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [edi + 0x58]
mov edx, dword [ebp - 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [edi + 0x58]
mov ecx, dword [edi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [edi + 0x58]
mov edx, dword [ebp - 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [edi + 0x58]
mov edx, dword [ebp + 0xc]
jmp 0x47da07
cmp ecx, 0x2d
jne 0x47f83b
mov eax, edx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x47f83b
movzx eax, word [esi + 2]
cmp eax, 0x30
jb 0x47f83b
cmp eax, 0x39
ja 0x47f83b
cmp ecx, 0x30
jb 0x47f7be
cmp ecx, 0x39
ja 0x47f7be
or eax, 0xffffffff
jmp 0x47f7c4
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push 0xa1
push 0xffff
push eax
push edx
lea eax, [ebp + 8]
push eax
call fcn.004816c0
add esp, 0x1c
test eax, eax
je 0x47fcb9
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 8]
test eax, eax
js 0x47fddb
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x47ff4e
cmp word [esi], 0x29
jne 0x47ff4e
mov edi, dword [ebp + 0x14]
or eax, 0x80200000
mov dword [ebx], eax
mov eax, esi
add esi, 2
mov dword [ebp - 0x10], 1
sub eax, dword [edi + 0x1c]
sar eax, 1
mov dword [ebx + 4], eax
add ebx, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 8], ebx
jmp 0x47da07
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 4], ecx
test eax, eax
jne 0x47f854
mov edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x20], eax
jmp 0x47f866
add eax, 0xc
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x4c]
jae 0x47fe2f
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp - 0x20]
mov word [eax], cx
xor ecx, ecx
mov word [eax + 6], cx
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
and eax, 0x10424e8
mov dword [edx + 8], eax
cmp word [esi], 0x7c
mov edx, dword [ebp + 0xc]
jne 0x47f8bf
mov ecx, dword [ebp - 0x20]
movzx eax, word [edi + 0x74]
mov word [ecx + 2], ax
movzx eax, word [edi + 0x74]
mov word [ecx + 4], ax
mov eax, 1
mov word [ecx + 6], ax
or dword [edi + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 8], ebx
add esi, 2
jmp 0x47da07
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x14]
mov dword [ebp - 0x9c], ecx
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edi
mov dword [eax + 2], ecx
xor eax, eax
cmp word [esi], 0x5e
mov ecx, esi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x24], eax
jne 0x47f8fb
and dword [ebp - 0x1c], 0xfeffdb57
add esi, 2
mov dword [ebp - 0xc], eax
mov ecx, esi
cmp ecx, dword [ebp + 0xc]
jae 0x47f9c4
mov edi, ecx
movzx eax, word [esi]
mov ecx, edi
cmp eax, 0x29
je 0x47f9bc
cmp eax, 0x3a
je 0x47f9bc
sub eax, 0x2d
lea esi, [edi + 2]
cmp eax, 0x4b
ja case.0x47f933.46
movzx eax, byte [eax + 0x480170]
jmp dword [eax*4 + 0x48014c]
cmp dword [ebp - 0xc], 0
je 0x47fdf7
lea edx, [ebp - 0x24]
mov dword [ebp - 0xc], 0
mov ecx, esi
jmp 0x47f9b1
mov eax, dword [ebp + 0x14]
mov ecx, esi
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x47f9b1
or dword [edx], 8
mov ecx, esi
jmp 0x47f9b1
or dword [edx], 0x400
mov ecx, esi
jmp 0x47f9b1
or dword [edx], 0x2000
mov ecx, esi
jmp 0x47f9b1
or dword [edx], 0x20
mov ecx, esi
jmp 0x47f9b1
or dword [edx], 0x40000
mov ecx, esi
jmp 0x47f9b1
mov eax, dword [edx]
mov ecx, esi
or eax, 0x80
mov dword [edx], eax
cmp esi, dword [ebp + 0xc]
jae 0x47f9b1
cmp word [esi], 0x78
jne 0x47f9b1
or eax, 0x1000000
lea ecx, [esi + 2]
mov dword [edx], eax
mov esi, ecx
mov edi, ecx
cmp esi, dword [ebp + 0xc]
jb 0x47f906
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
jmp 0x47f9c7
mov edx, dword [ebp - 0x48]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x47f9d9
test dl, dl
jns 0x47f9df
or edx, 0x1000000
or edi, dword [ebp - 0x1c]
not edx
and edi, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], edi
cmp ecx, edx
jae 0x47ff4e
mov ax, word [esi]
lea esi, [ecx + 2]
mov edi, dword [ebp + 0x14]
cmp ax, 0x29
jne 0x47fa32
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x20]
movzx eax, ax
mov dword [ebp - 4], eax
cmp ecx, dword [edi + 0x14]
jbe 0x47fa2d
mov edx, dword [ebp - 4]
lea eax, [ecx - 0xc]
cmp word [eax], dx
mov edx, dword [ebp + 0xc]
jne 0x47fa2a
mov dword [ebp - 0x20], eax
jmp 0x47fa3e
mov eax, dword [ebp - 4]
mov word [ecx], ax
jmp 0x47fa3e
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x9c]
je 0x47da07
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [ebp - 8], ebx
jmp 0x47da07
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp + 0x14]
test ecx, ecx
je 0x47fa92
mov eax, dword [ebp - 4]
cmp word [ecx], ax
jne 0x47fa92
test byte [ecx + 6], 1
je 0x47fa92
mov edx, dword [ebp - 0x20]
mov ecx, dword [edi + 0x74]
movzx eax, word [edx + 4]
cmp ecx, eax
jbe 0x47fa8b
mov word [edx + 4], cx
movzx eax, word [edx + 2]
mov dword [edi + 0x74], eax
mov edx, dword [ebp + 0xc]
mov dword [ebx], 0x80010000
add ebx, 4
mov dword [ebp - 8], ebx
jmp 0x47da07
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
test ecx, ecx
je 0x47fb27
mov eax, dword [ebp - 4]
cmp word [ecx], ax
jne 0x47fb27
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp + 0x14]
and eax, 0xfefbdb17
or eax, dword [ecx + 8]
movzx ecx, word [ecx + 6]
mov dword [ebp - 0x1c], eax
mov eax, ecx
test cl, 1
je 0x47faf2
mov eax, dword [ebp - 0x20]
movzx edx, word [eax + 4]
mov eax, ecx
cmp edx, dword [edi + 0x74]
jbe 0x47faf2
mov dword [edi + 0x74], edx
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + 6]
jmp 0x47faf5
mov edx, dword [ebp - 0x20]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x10], ecx
test al, 4
je 0x47fb0e
mov dword [ebx], 0x80190000
add ebx, 4
cmp edx, dword [edi + 0x14]
jne 0x47fb1c
mov dword [ebp - 0x20], 0
jmp 0x47fb2a
sub edx, 0xc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], edx
jmp 0x47fb2a
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
test cx, cx
je 0x47fe48
add ecx, 0xffff
mov dword [ebx], 0x80190000
add ebx, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ebx
mov edx, dword [ebp + 0xc]
jmp 0x47da10
mov eax, dword [ebp + 0x14]
mov ecx, 0x8c
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb0
mov esi, dword [ebp - 0x14]
add esi, 0xfffffffe
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x76
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x6d
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi]
xor ecx, ecx
mov esi, dword [ebp - 0x14]
add esi, 0xfffffffe
cmp eax, 0x3a
mov eax, dword [ebp + 0x14]
setne cl
add ecx, 0x70
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x71
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x6b
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xab
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x6c
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6a
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xc3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa6
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8d
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, edx
pop edi
mov ecx, 0xb5
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8a
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8b
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x73
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x7c
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8f
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa5
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x79
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x95
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
mov ecx, 0x73
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
add esi, 0xfffffffe
pop edi
mov ecx, 0xc2
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
add esi, 0xfffffffe
pop edi
mov ecx, 0x6f
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb8
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x7a
mov eax, dword [ebp + 0x14]
sub esi, 2
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x77
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x58], 0
je 0x47fe9c
mov eax, dword [ebp + 0x14]
mov ecx, 0xa0
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x38]
mov ecx, ebx
test edx, edx
je 0x47feb2
mov eax, esi
sub eax, dword [edi + 0x1c]
sar eax, 1
sub eax, dword [edx + 4]
mov dword [edx + 8], eax
cmp dword [ebp - 0x64], 0
je 0x47feef
test edx, edx
je 0x47fecc
lea eax, [ebx - 0x10]
cmp edx, eax
jne 0x47fecc
cmp dword [edx + 0xc], 0xff
je 0x47fee5
mov edx, 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 [edi + 0x1c]
sar eax, 1
mov dword [edx + 4], eax
cmp dword [ebp - 0x68], 0
je 0x47ff04
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x47ff17
test byte [ebp - 0x6c], 4
je 0x47ff1a
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x70]
jb 0x47ff38
mov eax, dword [ebp + 0x14]
mov ecx, 0xa3
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebp - 4], 0
mov dword [ecx], 0x80000000
jne 0x47ff4e
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x72
mov eax, dword [ebp + 0x14]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret