Function at 0x10049c70
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x145c
call fcn.102f9700
push ebx
mov ebx, dword [esp + 0x1464]
push ebp
xor eax, eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x146c]
mov ecx, 2
push esi
push edi
lea ebp, [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
xor esi, esi
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x7c], esi
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx]
cmp eax, ecx
lea edx, [eax + 1]
mov dword [ebx], edx
jb 0x10049d0f
mov eax, ebp
mov ebp, dword [ebp]
lea ecx, [esp + 0x68]
cmp eax, ecx
jb 0x10049cee
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x10049cf8
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, esi
je 0x1004e770
mov dword [ebp + 0x138], 0xfffffff8
jmp 0x1004be3c
mov edx, dword [ebp + 0x10]
mov dword [ebp + 0x60], edx
test byte [ebp + 0x18], 2
je 0x10049d32
mov ecx, dword [ebp + 0x14]
lea eax, [ebp + 0x130]
mov dword [eax], ecx
mov edx, dword [ebp + 4]
mov dword [ebp + 0x134], edx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov ebx, dword [esp + 0x1470]
xor edi, edi
mov dword [ebp + 0xa4], ecx
mov dword [ebp + 0x58], edi
cmp dword [ebx + 0x34], edi
je 0x10049d63
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jb 0x10049d63
cmp eax, dword [ebx + 0x48]
jbe 0x10049d63
mov dword [ebx + 0x38], 1
mov eax, dword [ebp + 0xa4]
cmp eax, 0x50
jle 0x10049dae
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebp + 0x9c], eax
jle 0x10049d8d
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 4]
mov dl, byte [eax + 5]
mov dword [ebp + 0x9c], edx
mov eax, dword [ebp + 0x9c]
add eax, eax
mov dword [ebp + 0xa0], eax
cmp eax, dword [ebx + 0x10]
jl 0x1004d34b
mov dword [ebp + 0xa4], 0x50
mov eax, dword [ebp + 0xa4]
cmp eax, 0x50
ja case.0x10049dc4.51
movzx eax, byte [eax + 0x1004e8a0]
jmp dword [eax*4 + 0x1004e7e0]
add dword [ebp + 8], 3
jmp 0x10049d32
cmp dword [ebx + 0x5c], edi
je 0x10049e15
mov esi, dword [ebx + 0x5c]
cmp dword [esi + 4], edi
jne 0x10049e15
mov ecx, dword [esi]
mov dword [ebx + 0x5c], ecx
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebx + 8]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.1030ad1f
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x48], edx
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 8]
add esp, 0xc
mov dword [ebp + 8], ecx
jmp 0x10049d32
cmp dword [ebx + 0x30], edi
je 0x10049e57
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x48]
jne 0x10049e57
lea ecx, [esp + 0x68]
mov eax, ebp
cmp eax, ecx
mov ebp, dword [ebp]
jb 0x10049e3a
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x10049e44
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e7c2
mov dword [ebp + 0x138], edi
jmp 0x1004be3c
mov edx, dword [ebp + 4]
mov dword [ebx + 0x4c], edx
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x50], eax
mov eax, ebp
mov ebp, dword [ebp]
lea ecx, [esp + 0x68]
cmp eax, ecx
jb 0x10049e7b
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x10049e85
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e780
mov dword [ebp + 0x138], 1
jmp 0x1004be3c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov dword [ebp + 0x10], eax
add dword [ebp + 8], 2
jmp 0x10049d32
mov eax, dword [ebp + 8]
xor edx, edx
cmp dword [esp + 0x18], edi
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
je 0x10049f17
xor ecx, ecx
cmp edx, edi
jle case.0x10049dc4.76
add dword [ebp + 4], 0xfffffffe
mov eax, dword [ebp + 4]
mov esi, eax
cmp esi, dword [ebx + 0x40]
jb 0x10049e22
movzx esi, word [eax]
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x10049f07
lea ecx, [ecx]
sub eax, 2
mov dword [ebp + 4], eax
movzx esi, word [eax]
and esi, 0xfffffc00
cmp esi, 0xdc00
je 0x10049ef0
add ecx, 1
cmp ecx, edx
jl 0x10049eca
add dword [ebp + 8], 3
jmp 0x10049d32
neg edx
add edx, edx
add dword [ebp + 4], edx
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x40]
jae case.0x10049dc4.76
jmp 0x10049e22
mov esi, dword [0x10c880e8]
cmp esi, edi
je 0x1004a005
mov dword [esp + 0x30], 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov dword [esp + 0x34], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x3c], edx
mov eax, dword [ebx + 0x44]
sub eax, dword [ebx + 0x40]
sar eax, 1
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 0x48]
sub ecx, dword [ebx + 0x40]
sar ecx, 1
mov dword [esp + 0x44], ecx
mov edx, dword [ebp + 4]
sub edx, dword [ebx + 0x40]
xor ecx, ecx
sar edx, 1
mov dword [esp + 0x48], edx
mov eax, dword [ebp + 8]
mov ch, byte [eax + 2]
xor edx, edx
mov cl, byte [eax + 3]
mov dword [esp + 0x58], ecx
mov eax, dword [ebp + 8]
mov dh, byte [eax + 4]
mov dl, byte [eax + 5]
mov dword [esp + 0x5c], edx
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0x50], eax
mov ecx, dword [ebx + 0x60]
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x58], ecx
call esi
mov esi, eax
add esp, 4
cmp esi, edi
jg 0x10049e22
jge 0x1004a005
lea edx, [esp + 0x68]
mov eax, ebp
cmp eax, edx
mov ebp, dword [ebp]
jb 0x10049fe8
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x10049ff2
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e7b0
mov dword [ebp + 0x138], esi
jmp 0x1004be3c
add dword [ebp + 8], 6
jmp 0x10049d32
mov eax, dword [ebp + 8]
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
lea eax, [ecx + edx]
mov dword [ebp + 0x1c], eax
movzx eax, byte [eax]
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebp + 0x3c], eax
jle 0x1004a03e
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebp + 0x3c], ecx
mov edx, dword [ebx + 0x5c]
mov dword [ebp + 0x38], edx
lea eax, [ebp + 0x38]
mov dword [ebx + 0x5c], eax
add dword [ebp + 8], 3
mov eax, dword [ebp + 8]
mov dword [ebp + 0x40], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0x1e
mov dword [ebp + 0x4c], eax
jle 0x1004d50a
add eax, eax
add eax, eax
push eax
call dword [0x10c7f348]
add esp, 4
cmp eax, edi
mov dword [ebp + 0x48], eax
jne 0x1004d513
mov eax, ebp
mov ebp, dword [ebp]
lea ecx, [esp + 0x68]
cmp eax, ecx
jb 0x1004a094
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004a09e
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e790
mov dword [ebp + 0x138], 0xfffffffa
jmp 0x1004be3c
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je case.0x10049dc4.65
jmp 0x10049d32
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
sub eax, ecx
mov dword [ebp + 0x30], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
mov dword [ebp + 0x34], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp + 0x30]
mov al, byte [eax]
cmp al, 0x45
je 0x10049e57
cmp al, 0x46
je 0x10049e57
cmp al, 0x47
je 0x10049e57
cmp al, 0x48
je 0x10049e57
cmp al, 0x4a
je 0x10049e57
cmp al, 0x4b
je 0x1004a1f9
movzx eax, al
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebp + 0x9c], eax
jle 0x1004a147
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebp + 0x9c], ecx
mov edx, dword [ebp + 0x9c]
add edx, edx
mov dword [ebp + 0xa0], edx
mov eax, dword [ebp + 0x9c]
cmp eax, edi
jle 0x1004a1f9
mov dword [ebx + 0x54], eax
mov ecx, dword [ebp + 0xa0]
cmp ecx, dword [ebx + 0x10]
jl 0x1004a17a
mov dword [ebx + 0x1c], 1
jmp 0x1004a1b2
mov edx, dword [ebx + 0xc]
sub edx, dword [ebp + 0x9c]
mov eax, dword [ebx + 8]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp + 4]
sub eax, dword [ebx + 0x40]
mov ecx, dword [ebp + 0xa0]
mov edx, dword [ebx + 8]
sar eax, 1
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp + 0xa0]
cmp dword [ebp + 0xc], eax
jg 0x1004a1b2
add eax, 2
mov dword [ebp + 0xc], eax
cmp dword [ebx + 0x5c], edi
je 0x1004a1f9
mov esi, dword [ebx + 0x5c]
mov eax, dword [esi + 4]
cmp eax, dword [ebp + 0x9c]
jne 0x1004a1f9
mov ecx, dword [esi]
mov dword [ebx + 0x5c], ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x48], edx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 8]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.1030ad1f
mov eax, dword [esi + 8]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x60]
add esp, 0xc
mov dword [ebp + 0x10], ecx
jmp 0x10049d32
mov edx, dword [ebp + 0x60]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 8]
cmp byte [eax], 0x42
je 0x1004a213
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebp + 0x34]
jne 0x1004d664
add eax, 3
mov dword [ebp + 8], eax
jmp 0x10049d32
cmp dword [ebx + 0x20], edi
je 0x1004a22f
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x40]
je 0x10049e22
test byte [ebp + 0x10], 2
je case.0x10049dc4.1
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x40]
je 0x1004a2bc
mov eax, edx
cmp word [eax - 2], 0xa
je 0x1004a2bc
jmp 0x10049e22
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x40]
je 0x1004a2bc
jmp 0x10049e22
mov edx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x40]
lea ecx, [eax + edx*2]
cmp dword [ebp + 4], ecx
je 0x1004a2bc
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
test byte [ebp + 0x10], 2
je 0x1004a293
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004a289
mov ecx, eax
cmp word [ecx], 0xa
jmp 0x1004a264
cmp dword [ebx + 0x24], edi
je 0x1004a2bc
jmp 0x10049e22
cmp dword [ebx + 0x24], edi
jne 0x1004a266
cmp dword [ebx + 0x2c], edi
jne case.0x10049dc4.17
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp + 4]
add eax, 0xfffffffe
cmp ecx, eax
jb 0x10049e22
jne 0x1004a2bc
mov eax, ecx
cmp word [eax], 0xa
jne 0x10049e22
add dword [ebp + 8], 1
jmp 0x10049d32
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004a2bc
jmp 0x10049e22
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp + 4]
add eax, 0xfffffffe
cmp ecx, eax
jb 0x10049e22
jne 0x1004a2f1
mov edx, ecx
cmp word [edx], 0xa
jne 0x10049e22
add dword [ebp + 8], 1
jmp 0x10049d32
cmp dword [esp + 0x18], edi
je 0x1004a3cf
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x40]
jne 0x1004a311
mov dword [ebp + 0x5c], edi
jmp 0x1004a384
mov eax, dword [ebp + 4]
movzx ecx, word [eax - 2]
sub eax, 2
and ecx, 0xfffffc00
cmp ecx, 0xdc00
jne 0x1004a345
lea esp, [esp]
movzx edx, word [eax - 2]
sub eax, 2
and edx, 0xfffffc00
cmp edx, 0xdc00
je 0x1004a330
movzx ecx, word [eax]
mov edx, ecx
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004a367
movzx eax, word [eax + 2]
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, eax
cmp ecx, 0x100
jge 0x1004a37f
mov edx, dword [ebx + 0x18]
test byte [ecx + edx], 0x10
je 0x1004a37f
mov eax, 1
jmp 0x1004a381
xor eax, eax
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jb 0x1004a394
mov dword [ebp + 0x50], edi
jmp 0x1004a414
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov edx, eax
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004a3b8
movzx ecx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
cmp eax, 0x100
jge 0x1004a40f
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 0x10
je 0x1004a40f
mov eax, 1
jmp 0x1004a411
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x40]
je 0x1004a3ed
mov ecx, eax
movzx edx, word [ecx - 2]
mov eax, dword [ebx + 0x18]
test byte [edx + eax], 0x10
je 0x1004a3ed
mov eax, 1
jmp 0x1004a3ef
xor eax, eax
mov dword [ebp + 0x5c], eax
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004a40f
mov edx, ecx
movzx eax, word [edx]
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
je 0x1004a40f
mov eax, 1
jmp 0x1004a411
xor eax, eax
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 8]
mov dl, byte [eax]
add eax, 1
cmp dl, 4
mov dword [ebp + 8], eax
jne 0x1004a433
mov eax, dword [ebp + 0x50]
xor ecx, ecx
cmp eax, dword [ebp + 0x5c]
sete cl
mov eax, ecx
jmp 0x1004a43e
mov edx, dword [ebp + 0x50]
xor eax, eax
cmp edx, dword [ebp + 0x5c]
setne al
cmp eax, edi
je 0x10049d32
jmp 0x10049e22
test byte [ebp + 0x10], 4
jne 0x1004a465
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004a465
mov eax, edx
cmp word [eax], 0xa
je 0x10049e22
mov edx, dword [ebp + 4]
mov ecx, dword [ebx + 0x44]
add dword [ebp + 4], 2
cmp edx, ecx
mov eax, dword [ebp + 4]
jae 0x1004a266
cmp dword [esp + 0x18], edi
je 0x1004a4ae
mov ecx, eax
cmp ecx, dword [ebx + 0x44]
jae 0x1004a4ae
jmp 0x1004a490
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004a4ae
add eax, 2
mov ecx, eax
mov dword [ebp + 4], eax
cmp ecx, dword [ebx + 0x44]
jb 0x1004a490
add dword [ebp + 8], 1
jmp 0x10049d32
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 0x44]
add dword [ebp + 4], 2
cmp edx, eax
jb 0x1004a2bc
jmp 0x10049e22
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, edx
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a508
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a2bc
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
jmp 0x1004a264
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a559
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a266
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
je 0x1004a266
add dword [ebp + 8], 1
jmp 0x10049d32
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a5b4
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a2bc
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
jmp 0x1004a264
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a605
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a266
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
je 0x1004a266
add dword [ebp + 8], 1
jmp 0x10049d32
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a660
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a2bc
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
jmp 0x1004a264
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004a6b1
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004a266
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
je 0x1004a266
add dword [ebp + 8], 1
jmp 0x10049d32
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
movzx esi, word [eax]
mov edx, esi
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004a70b
movzx ecx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, ecx
add eax, 2
mov dword [ebp + 4], eax
lea edx, [esp + 0x24]
push edx
lea edi, [esp + 0x18]
call fcn.10058880
add dword [ebp + 8], 1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
add ecx, 1
add esp, 4
cmp edx, 0x80
mov dword [ebp + 8], ecx
jl 0x1004a78b
add edx, 0xffffff80
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
cmp dword [ebp + 0xa4], 0xe
sete dl
cmp ecx, edx
jne 0x10049d32
lea ecx, [esp + 0x68]
mov eax, ebp
cmp eax, ecx
mov ebp, dword [ebp]
jb 0x1004a76a
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004a774
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
je 0x1004e7c2
mov dword [ebp + 0x138], 0
jmp 0x1004be3c
xor eax, eax
cmp edx, dword [esp + 0x24]
setne al
xor ecx, ecx
cmp dword [ebp + 0xa4], 0xe
sete cl
cmp eax, ecx
jne 0x10049d32
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004a75a
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
movzx esi, word [eax]
mov edx, esi
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004a7eb
movzx ecx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, ecx
add eax, 2
mov dword [ebp + 4], eax
lea edx, [esp + 0x2c]
push edx
lea edi, [esp + 0x18]
call fcn.10058880
add esp, 4
cmp eax, 2
je 0x1004a752
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004a871
cmp dword [esp + 0x18], 0
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov dword [esp + 0x10], 1
je 0x1004a849
mov ecx, esi
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x1004a849
movzx edx, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
mov dword [esp + 0x10], 2
lea eax, [esp + 0x2c]
push eax
lea edi, [esp + 0x18]
call fcn.10058880
add esp, 4
cmp eax, 2
jne 0x1004a871
mov ecx, dword [esp + 0x10]
lea edx, [ecx + ecx]
add dword [ebp + 4], edx
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jb 0x1004a80d
add dword [ebp + 8], 1
jmp 0x10049d32
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, ecx
mov dword [ebp + 0xa0], ecx
add dword [ebp + 8], 3
mov eax, dword [ebp + 0xa0]
cmp eax, dword [ebp + 0xc]
jge 0x1004a8b0
mov edx, dword [ebx + 8]
mov ecx, dword [edx + eax*4]
cmp ecx, edi
lea eax, [edx + eax*4]
jl 0x1004a8b0
mov esi, dword [eax + 4]
sub esi, ecx
jmp 0x1004a8b2
xor esi, esi
mov dword [ebp + 0x90], esi
mov ecx, dword [ebp + 8]
mov al, byte [ecx]
mov byte [esp + 0x1f], al
movzx eax, al
add eax, 0xffffffcd
cmp eax, 7
ja case.default.0x1004a8d7
movzx edx, byte [eax + 0x1004e8fc]
jmp dword [edx*4 + 0x1004e8f4]
add ecx, 1
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x58], ecx
movsx edx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], edx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004a95a
mov dword [ebp + 0x94], 0x7fffffff
jmp 0x1004a95a
xor eax, eax
cmp byte [esp + 0x1f], 0x3a
sete al
xor ecx, ecx
xor edx, edx
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 8]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebp + 0x98], ecx
mov eax, dword [ebp + 8]
mov dh, byte [eax + 3]
movzx ecx, byte [eax + 4]
mov eax, edx
or eax, ecx
mov dword [ebp + 0x94], eax
jne 0x1004a956
mov dword [ebp + 0x94], 0x7fffffff
add dword [ebp + 8], 5
cmp dword [ebp + 0x90], edi
je 0x10049d32
mov eax, 1
cmp dword [ebp + 0x98], eax
mov dword [esp + 0x10], eax
jl 0x1004a9c3
jmp 0x1004a980
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x90]
mov ecx, dword [ebp + 0xa0]
mov eax, dword [ebp + 4]
push edx
push esi
push ecx
mov edx, ebx
call fcn.10049be0
add esp, 0xc
test eax, eax
je 0x10049e22
mov eax, dword [ebp + 4]
lea edx, [eax + esi*2]
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [ebp + 4], edx
cmp eax, dword [ebp + 0x98]
mov dword [esp + 0x10], eax
jle 0x1004a980
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004d709
mov dword [ebp + 0x8c], edx
jmp 0x1004c381
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xa0]
mov eax, dword [ebp + 4]
push ecx
push esi
push edx
mov edx, ebx
call fcn.10049be0
add esp, 0xc
test eax, eax
je 0x10049e22
mov eax, dword [ebp + 4]
lea edx, [eax + esi*2]
mov dword [ebp + 4], edx
jmp 0x10049d32
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 0x24], eax
add dword [ebp + 8], 0x21
mov ecx, dword [ebp + 8]
mov dl, byte [ecx]
movzx eax, dl
add eax, 0xffffffcd
cmp eax, 7
ja case.default.0x1004aa40
movzx esi, byte [eax + 0x1004e90c]
jmp dword [esi*4 + 0x1004e904]
add ecx, 1
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x58], ecx
movsx edx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], edx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004aad4
mov dword [ebp + 0x94], 0x7fffffff
jmp 0x1004aad4
xor eax, eax
cmp dl, 0x3a
sete al
xor ecx, ecx
xor edx, edx
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 8]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebp + 0x98], ecx
mov eax, dword [ebp + 8]
mov dh, byte [eax + 3]
movzx ecx, byte [eax + 4]
mov eax, edx
or eax, ecx
mov dword [ebp + 0x94], eax
jne 0x1004aabd
mov dword [ebp + 0x94], 0x7fffffff
add dword [ebp + 8], 5
jmp 0x1004aad4
mov eax, 1
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
cmp dword [esp + 0x18], edi
mov esi, 1
je 0x1004ab7e
cmp dword [ebp + 0x98], esi
jl 0x1004abdf
nop
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, edx
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004ab2a
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0xff
jle 0x1004ab40
cmp dword [ebp + 0xa4], 0x3b
je 0x1004a266
jmp 0x1004ab6d
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x14], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x14]
test dl, al
je 0x1004a752
xor edi, edi
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004aaf0
jmp 0x1004abdf
cmp dword [ebp + 0x98], esi
jl 0x1004abdf
jmp 0x1004ab90
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, edx
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x14], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x14]
test dl, al
je 0x1004a7a8
add esi, 1
xor edi, edi
cmp esi, dword [ebp + 0x98]
jle 0x1004ab90
mov eax, dword [ebp + 0x98]
cmp eax, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004d777
cmp dword [esp + 0x18], edi
je 0x1004d766
mov dword [ebp + 0x8c], eax
jmp 0x1004c476
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 0x24], ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
lea ecx, [edx + eax]
mov dword [ebp + 8], ecx
mov dl, byte [ecx]
movzx eax, dl
add eax, 0xffffffcd
cmp eax, 7
ja case.default.0x1004ac41
movzx esi, byte [eax + 0x1004e91c]
jmp dword [esi*4 + 0x1004e914]
add ecx, 1
mov dword [ebp + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x58], ecx
movsx edx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], edx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004acd5
mov dword [ebp + 0x94], 0x7fffffff
jmp 0x1004acd5
xor eax, eax
cmp dl, 0x3a
sete al
xor ecx, ecx
xor edx, edx
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 8]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebp + 0x98], ecx
mov eax, dword [ebp + 8]
mov dh, byte [eax + 3]
movzx ecx, byte [eax + 4]
mov eax, edx
or eax, ecx
mov dword [ebp + 0x94], eax
jne 0x1004acbe
mov dword [ebp + 0x94], 0x7fffffff
add dword [ebp + 8], 5
jmp 0x1004acd5
mov eax, 1
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
mov esi, 1
cmp dword [ebp + 0x98], esi
jl 0x1004ad3c
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004a266
mov ecx, edx
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004ad1c
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x24]
push ecx
push eax
call fcn.10058b70
add esp, 8
test eax, eax
je 0x10049e22
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004ace2
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004d89b
mov eax, edx
mov dword [ebp + 0x8c], eax
jmp 0x1004e615
cmp dword [esp + 0x18], edi
je 0x1004ae5c
mov eax, 1
mov dword [ebp + 0x90], eax
add dword [ebp + 8], eax
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
mov eax, edx
and eax, 0xc0
cmp al, 0xc0
mov dword [ebp + 0x88], edx
jne 0x1004ade2
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x10c0df88]
mov esi, dword [eax*4 + 0x10c0df6c]
lea ecx, [eax + eax*2]
and esi, edx
add ecx, ecx
shl esi, cl
mov dword [ebp + 0x88], esi
mov esi, 1
cmp eax, esi
jl 0x1004addc
mov edx, dword [ebp + 8]
movzx edx, byte [esi + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add esi, 1
or dword [ebp + 0x88], edx
cmp esi, eax
jle 0x1004adbe
xor edi, edi
add dword [ebp + 0x90], eax
mov eax, dword [ebp + 0x90]
add dword [ebp + 8], eax
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
sar eax, 1
sub eax, edi
je 0x1004a266
mov ecx, dword [ebp + 4]
sub eax, 1
movzx eax, word [ecx]
je 0x1004ae31
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004ae4b
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
jmp 0x1004ae4b
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, eax
and ecx, 0xfffffc00
cmp ecx, 0xd800
je 0x1004a266
cmp dword [ebp + 0x88], eax
je 0x10049d32
jmp 0x10049e22
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
and eax, 0xfffffffe
cmp eax, 2
jl 0x10049e22
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
movzx cx, byte [edx + 1]
mov dx, word [eax]
add eax, 2
cmp cx, dx
mov dword [ebp + 4], eax
je 0x10049ea6
jmp 0x10049e22
cmp dword [esp + 0x18], edi
je 0x1004b06d
mov esi, 1
mov dword [ebp + 0x90], esi
add dword [ebp + 8], esi
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
mov eax, edx
and eax, 0xc0
cmp al, 0xc0
mov dword [ebp + 0x88], edx
jne 0x1004af13
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x10c0df88]
mov esi, dword [eax*4 + 0x10c0df6c]
lea ecx, [eax + eax*2]
and esi, edx
add ecx, ecx
shl esi, cl
mov dword [ebp + 0x88], esi
mov esi, 1
cmp eax, esi
jl 0x1004af08
mov edx, dword [ebp + 8]
movzx edx, byte [esi + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add esi, 1
or dword [ebp + 0x88], edx
cmp esi, eax
jle 0x1004aeea
xor edi, edi
add dword [ebp + 0x90], eax
mov esi, 1
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
sar eax, 1
je 0x10049e22
cmp dword [ebp + 0x88], 0x80
jge 0x1004af62
add dword [ebp + 8], esi
mov eax, dword [ebp + 4]
movzx ecx, word [eax]
add eax, 2
cmp ecx, 0x80
mov dword [ebp + 4], eax
jge 0x10049e22
mov esi, dword [ebx + 0x14]
mov edx, dword [ebp + 0x88]
mov al, byte [esi + edx]
cmp al, byte [esi + ecx]
je 0x10049d32
jmp 0x10049e22
cmp eax, esi
mov eax, dword [ebp + 4]
movzx ebx, word [eax]
jne 0x1004afc7
mov edx, ebx
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004afcd
mov eax, ebp
mov ebp, dword [ebp]
lea ecx, [esp + 0x68]
cmp eax, ecx
jb 0x1004af9a
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004afa4
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
je 0x1004e7c2
mov edx, dword [esp + 0x1470]
mov dword [ebp + 0x138], 0
mov dword [edx + 0x64], ebp
mov ebx, edx
jmp 0x1004be3f
add eax, 2
mov dword [ebp + 4], eax
mov ecx, ebx
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x1004aff1
movzx edx, word [eax]
add ebx, 0xffff2809
shl ebx, 0xa
add ebx, edx
add eax, 2
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x90]
add dword [ebp + 8], eax
mov esi, dword [ebp + 0x88]
cmp esi, ebx
je 0x10049d32
lea ecx, [esp + 0x60]
push ecx
lea edi, [esp + 0x2c]
call fcn.10058880
add esp, 4
cmp eax, 1
jne 0x1004b028
cmp ebx, dword [esp + 0x28]
je 0x10049d32
mov eax, ebp
mov ebp, dword [ebp]
lea edx, [esp + 0x68]
cmp eax, edx
jb 0x1004b040
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004b04a
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
je 0x1004e7c2
mov eax, dword [esp + 0x1470]
mov dword [ebp + 0x138], 0
mov dword [eax + 0x64], ebp
mov ebx, eax
jmp 0x1004be3f
mov ecx, dword [ebx + 0x44]
sub ecx, dword [ebp + 4]
and ecx, 0xfffffffe
cmp ecx, 2
jl 0x1004a266
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
movzx edx, byte [ecx + 1]
movzx ecx, word [eax]
mov esi, dword [ebx + 0x14]
mov dl, byte [edx + esi]
mov cl, byte [ecx + esi]
add eax, 2
cmp dl, cl
mov dword [ebp + 4], eax
je 0x10049ea6
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax + 1]
mov eax, ecx
or eax, edx
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
add dword [ebp + 8], 3
jmp 0x1004b13c
mov dword [ebp + 0x98], edi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
xor eax, eax
mov dword [ebp + 0x94], ecx
mov edx, dword [ebp + 8]
cmp byte [edx], 0x1f
sete al
mov dword [ebp + 0x58], eax
add dword [ebp + 8], 3
jmp 0x1004b13c
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
add ecx, 1
mov dword [ebp + 8], ecx
sub eax, 0x18
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x58], ecx
movsx edx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], edx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004b13c
mov dword [ebp + 0x94], 0x7fffffff
mov dword [ebp + 0x90], 1
mov eax, dword [ebp + 8]
movzx edx, byte [eax]
mov ecx, edx
and ecx, 0xc0
cmp cl, 0xc0
mov dword [ebp + 0x88], edx
jne 0x1004b1ae
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x10c0df88]
mov esi, dword [eax*4 + 0x10c0df6c]
lea ecx, [eax + eax*2]
and esi, edx
add ecx, ecx
shl esi, cl
mov dword [ebp + 0x88], esi
mov esi, 1
cmp eax, esi
jl 0x1004b1a8
mov edx, dword [ebp + 8]
movzx edx, byte [esi + edx]
sub ecx, 6
and edx, 0x3f
shl edx, cl
add esi, 1
or dword [ebp + 0x88], edx
cmp esi, eax
jle 0x1004b18a
xor edi, edi
add dword [ebp + 0x90], eax
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
xor ecx, ecx
sar eax, 1
cmp dword [ebp + 0x88], 0xffff
setg cl
add ecx, 1
imul ecx, dword [ebp + 0x98]
cmp ecx, eax
jg 0x1004a266
mov eax, dword [ebp + 0x90]
add dword [ebp + 8], eax
mov esi, dword [ebp + 0x88]
cmp esi, 0xffff
jg 0x1004b28a
test byte [ebp + 0x10], 1
je 0x1004b20e
lea ecx, [esp + 0x64]
push ecx
lea edi, [esp + 0x24]
call fcn.10058880
add esp, 4
cmp eax, 1
je 0x1004b217
or esi, 0xffffffff
mov dword [esp + 0x20], esi
jmp 0x1004b21b
mov esi, dword [esp + 0x20]
mov edx, 1
cmp dword [ebp + 0x98], edx
jl 0x1004b257
jmp 0x1004b230
mov eax, dword [ebp + 4]
movzx ecx, word [eax]
cmp ecx, dword [ebp + 0x88]
je 0x1004b246
cmp ecx, esi
jne 0x1004a7a8
add eax, 2
add edx, 1
mov dword [ebp + 4], eax
cmp edx, dword [ebp + 0x98]
jle 0x1004b230
mov eax, dword [ebp + 0x98]
cmp eax, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], 0
je 0x1004d917
mov dword [ebp + 0x80], esi
mov ecx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], ecx
jmp 0x1004c7d0
mov edx, 1
cmp dword [ebp + 0x98], edx
jl 0x1004b2d8
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov esi, eax
and esi, 0xfffffc00
cmp esi, 0xd800
jne 0x1004b2bb
movzx esi, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, esi
cmp eax, dword [ebp + 0x88]
jne 0x10049e22
add ecx, 4
add edx, 1
mov dword [ebp + 4], ecx
cmp edx, dword [ebp + 0x98]
jle 0x1004b297
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004d959
mov ecx, edx
mov dword [ebp + 0x8c], ecx
jmp 0x1004c8a4
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
add dword [ebp + 8], 1
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004b33f
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
test byte [ebp + 0x10], 1
je 0x1004b373
cmp eax, 0x100
jge 0x1004b353
mov ecx, dword [ebx + 0x14]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov esi, dword [ebx + 0x14]
movzx edx, byte [esi + edx]
add ecx, 1
cmp edx, eax
mov dword [ebp + 8], ecx
jne 0x10049d32
jmp 0x10049e22
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
add ecx, 1
cmp edx, eax
mov dword [ebp + 8], ecx
jne 0x10049d32
jmp 0x10049e22
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
xor edx, edx
mov dh, byte [eax + 1]
mov eax, edx
or eax, ecx
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
add dword [ebp + 8], 3
jmp 0x1004b418
mov dword [ebp + 0x98], edi
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov dl, byte [eax + 2]
mov dword [ebp + 0x94], edx
mov eax, dword [ebp + 8]
cmp byte [eax], 0x28
sete cl
mov dword [ebp + 0x58], ecx
add dword [ebp + 8], 3
jmp 0x1004b418
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
sub eax, 0x21
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, eax
and edx, 1
mov dword [ebp + 0x58], edx
movsx ecx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], ecx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004b418
mov dword [ebp + 0x94], 0x7fffffff
mov edx, dword [ebx + 0x44]
sub edx, dword [ebp + 4]
sar edx, 1
cmp dword [ebp + 0x98], edx
jg 0x10049e22
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov edx, 1
mov dword [ebp + 0x88], eax
add dword [ebp + 8], edx
test byte [ebp + 0x10], dl
je 0x1004b52e
cmp dword [esp + 0x18], edi
mov ecx, dword [ebp + 0x88]
mov eax, dword [ebx + 0x14]
movzx ecx, byte [ecx + eax]
mov dword [ebp + 0x88], ecx
je 0x1004b4c6
cmp dword [ebp + 0x98], edx
jl 0x1004b4fc
mov edi, edi
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov esi, eax
add ecx, 2
and esi, 0xfffffc00
cmp esi, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004b49f
movzx esi, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, esi
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004b4ad
mov ecx, dword [ebx + 0x14]
movzx eax, byte [ecx + eax]
cmp dword [ebp + 0x88], eax
je 0x1004a266
add edx, 1
cmp edx, dword [ebp + 0x98]
jle 0x1004b470
jmp 0x1004b4fc
cmp dword [ebp + 0x98], edx
mov ecx, edx
jl 0x1004b4fc
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x14]
movzx edx, byte [edx + esi]
mov esi, dword [ebp + 0x88]
add eax, 2
cmp esi, edx
mov dword [ebp + 4], eax
je 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004b4d0
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004d9b9
cmp dword [esp + 0x18], edi
je 0x1004d9a8
mov eax, edx
mov dword [ebp + 0x8c], eax
jmp 0x1004e654
cmp dword [esp + 0x18], edi
je 0x1004b588
cmp dword [ebp + 0x98], edx
jl 0x1004b5b7
lea esp, [esp]
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov esi, eax
add ecx, 2
and esi, 0xfffffc00
cmp esi, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004b56f
movzx esi, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, esi
add ecx, 2
mov dword [ebp + 4], ecx
cmp dword [ebp + 0x88], eax
je 0x10049e22
add edx, 1
cmp edx, dword [ebp + 0x98]
jle 0x1004b540
jmp 0x1004b5b7
cmp dword [ebp + 0x98], edx
mov eax, edx
jl 0x1004b5b7
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [ebp + 0x88]
add ecx, 2
cmp esi, edx
mov dword [ebp + 4], ecx
je 0x10049e22
add eax, 1
cmp eax, dword [ebp + 0x98]
jle 0x1004b592
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
je 0x1004da9c
cmp dword [esp + 0x18], edi
je 0x1004da8b
mov eax, edx
mov dword [ebp + 0x8c], eax
jmp 0x1004cb76
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 2]
xor ecx, ecx
mov ch, byte [eax + 1]
mov eax, ecx
or eax, edx
mov dword [ebp + 0x94], eax
mov dword [ebp + 0x98], eax
mov dword [ebp + 0x58], 1
add dword [ebp + 8], 3
jmp 0x1004b67c
mov dword [ebp + 0x98], edi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
xor eax, eax
mov dword [ebp + 0x94], ecx
mov edx, dword [ebp + 8]
cmp byte [edx], 0x31
sete al
mov dword [ebp + 0x58], eax
add dword [ebp + 8], 3
jmp 0x1004b67c
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
add ecx, 1
mov dword [ebp + 8], ecx
sub eax, 0x2a
mov ecx, eax
and ecx, 1
mov dword [ebp + 0x58], ecx
movsx edx, byte [eax + 0x10c10fa0]
mov dword [ebp + 0x98], edx
movsx eax, byte [eax + 0x10c10fa8]
cmp eax, edi
mov dword [ebp + 0x94], eax
jne 0x1004b67c
mov dword [ebp + 0x94], 0x7fffffff
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp + 0x84], ecx
mov esi, 1
add dword [ebp + 8], esi
mov eax, dword [ebp + 0x84]
cmp eax, 0xe
je 0x1004b6a9
cmp eax, 0xd
je 0x1004b6a9
mov dword [ebp + 0x64], 0xffffffff
jmp 0x1004b6e1
xor edx, edx
cmp eax, 0xd
sete dl
mov dword [ebp + 0x68], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp + 0x64], ecx
add dword [ebp + 8], esi
mov eax, dword [ebp + 0x64]
cmp eax, 0x80
jl 0x1004b6d8
add eax, 0xffffff80
lea edx, [ebp + 0x6c]
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], edx
jmp 0x1004b6e1
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x70]
mov dword [ebp + 0x7c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + 4]
mov edx, dword [ebp + 0x98]
mov esi, ecx
sub esi, eax
sar esi, 1
cmp edx, esi
jg 0x10049e22
cmp edx, edi
jle 0x1004b786
cmp dword [ebp + 0x64], edi
jle 0x1004b7dc
cmp edx, 1
mov dword [esp + 0x10], 1
jl 0x1004b786
lea edi, [ebp + 0x74]
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov edx, esi
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004b74c
movzx ecx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, ecx
add eax, 2
mov dword [ebp + 4], eax
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x7c]
mov eax, dword [edx]
xor ecx, ecx
add esp, 4
cmp eax, dword [ebp + 0x78]
sete cl
cmp ecx, dword [ebp + 0x68]
je 0x1004a7a8
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebp + 0x98]
mov dword [esp + 0x10], eax
jle 0x1004b71c
xor edi, edi
mov eax, dword [ebp + 0x98]
cmp eax, dword [ebp + 0x94]
je 0x10049d32
cmp dword [ebp + 0x58], edi
jne 0x1004db55
mov ecx, dword [ebp + 4]
mov dword [ebp + 0x2c], ecx
cmp dword [ebp + 0x64], edi
jg 0x1004dbad
mov eax, dword [ebp + 0x84]
cmp eax, 0xf
je 0x1004dc51
add eax, 0xfffffffb
cmp dword [esp + 0x18], edi
je 0x1004bdef
cmp eax, 7
ja case.default.0x1004cf2a
jmp dword [eax*4 + 0x1004e924]
mov esi, dword [ebp + 0x84]
cmp esi, 0xf
jne 0x1004b8d6
cmp edx, 1
mov dword [esp + 0x10], 1
jl 0x1004b786
lea edi, [ebp + 0x74]
jmp 0x1004b800
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov ecx, esi
add eax, 2
and ecx, 0xfffffc00
cmp ecx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004b830
movzx edx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
add eax, 2
mov dword [ebp + 4], eax
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
je 0x1004a752
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004b8ba
cmp dword [esp + 0x18], 0
mov dword [esp + 0x14], 1
jne 0x1004b867
mov ecx, dword [ebp + 4]
movzx esi, word [ecx]
jmp 0x1004b894
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov edx, esi
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004b894
movzx eax, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, eax
mov dword [esp + 0x14], 2
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
jne 0x1004b8ba
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ecx]
add dword [ebp + 4], edx
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jb 0x1004b850
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebp + 0x98]
mov dword [esp + 0x10], eax
jle 0x1004b800
jmp 0x1004b784
cmp dword [esp + 0x18], edi
je 0x1004bc39
add esi, 0xfffffffb
cmp esi, 7
ja case.default.0x1004cf2a
jmp dword [esi*4 + 0x1004e944]
cmp edx, 1
mov dword [esp + 0x10], 1
jl 0x1004b786
cmp eax, ecx
jae 0x10049e22
mov edx, dword [ebp + 4]
mov ax, word [edx]
add edx, 2
cmp ax, 0xa
mov dword [ebp + 4], edx
jne 0x1004b928
test byte [ebp + 0x10], 4
je 0x10049e22
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x44]
cmp eax, ecx
jae 0x1004b960
jmp 0x1004b940
movzx esi, word [edx]
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x1004b960
add edx, 2
mov dword [ebp + 4], edx
mov ecx, dword [ebx + 0x44]
mov eax, edx
cmp eax, ecx
jb 0x1004b940
mov edx, dword [esp + 0x10]
add edx, 1
cmp edx, dword [ebp + 0x98]
mov dword [esp + 0x10], edx
jle 0x1004b904
jmp 0x1004b786
mov esi, 1
cmp edx, esi
jl 0x1004b786
jmp 0x1004b990
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004a266
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004b9ca
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x80
jge 0x1004b9de
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
jne 0x10049e22
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004b990
jmp 0x1004b786
mov esi, 1
cmp edx, esi
jl 0x1004b786
jmp 0x1004ba00
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x10049e22
mov eax, edx
movzx ecx, word [eax]
cmp cx, 0x80
jae 0x10049e22
mov edx, dword [ebx + 0x18]
movzx ecx, cx
test byte [ecx + edx], 4
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004ba00
jmp 0x1004b786
cmp edx, 1
mov dword [esp + 0x10], 1
jl 0x1004b786
cmp eax, ecx
jae 0x1004a266
mov eax, dword [ebp + 4]
movzx ecx, word [eax]
cmp cx, 0x80
jae 0x1004ba7e
movzx edx, cx
mov ecx, dword [ebx + 0x18]
test byte [edx + ecx], 1
lea eax, [eax + 2]
mov dword [ebp + 4], eax
jne 0x1004a266
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x44]
cmp eax, ecx
jae 0x1004bab3
jmp 0x1004ba90
mov edx, dword [ebp + 4]
movzx esi, word [edx]
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x1004bab3
add edx, 2
mov dword [ebp + 4], edx
mov ecx, dword [ebx + 0x44]
mov eax, edx
cmp eax, ecx
jb 0x1004ba90
mov edx, dword [esp + 0x10]
add edx, 1
cmp edx, dword [ebp + 0x98]
mov dword [esp + 0x10], edx
jle 0x1004ba53
jmp 0x1004b786
mov esi, 1
cmp edx, esi
jl 0x1004b786
jmp 0x1004bae0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
movzx ecx, word [eax]
cmp cx, 0x80
jae 0x10049e22
mov edx, dword [ebx + 0x18]
movzx ecx, cx
test byte [ecx + edx], 1
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004bae0
jmp 0x1004b786
cmp edx, 1
mov dword [esp + 0x10], 1
jl 0x1004b786
cmp eax, ecx
jae 0x1004a266
mov eax, dword [ebp + 4]
movzx ecx, word [eax]
cmp cx, 0x80
jae 0x1004bb5c
movzx edx, cx
mov ecx, dword [ebx + 0x18]
test byte [edx + ecx], 0x10
lea eax, [eax + 2]
mov dword [ebp + 4], eax
jne 0x1004a266
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 0x44]
cmp eax, ecx
jae 0x1004bb93
jmp 0x1004bb70
mov edx, dword [ebp + 4]
movzx esi, word [edx]
and esi, 0xfffffc00
cmp esi, 0xdc00
jne 0x1004bb93
add edx, 2
mov dword [ebp + 4], edx
mov ecx, dword [ebx + 0x44]
mov eax, edx
cmp eax, ecx
jb 0x1004bb70
mov edx, dword [esp + 0x10]
add edx, 1
cmp edx, dword [ebp + 0x98]
mov dword [esp + 0x10], edx
jle 0x1004bb31
jmp 0x1004b786
mov esi, 1
cmp edx, esi
jl 0x1004b786
jmp 0x1004bbc0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
movzx ecx, word [eax]
cmp cx, 0x80
jae 0x10049e22
mov edx, dword [ebx + 0x18]
movzx ecx, cx
test byte [ecx + edx], 0x10
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add esi, 1
cmp esi, dword [ebp + 0x98]
jle 0x1004bbc0
jmp 0x1004b786
lea edx, [esp + 0x68]
mov eax, ebp
cmp eax, edx
mov ebp, dword [ebp]
jb 0x1004bc18
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004bc22
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e7a0
mov dword [ebp + 0x138], 0xfffffff2
jmp 0x1004be3c
lea eax, [esi - 5]
cmp eax, 7
ja case.default.0x1004cf2a
jmp dword [eax*4 + 0x1004e964]
test byte [ebp + 0x10], 4
jne case.0x1004b8ec.12
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
jmp 0x1004bc60
mov eax, dword [ebp + 4]
mov dx, word [eax]
add eax, 2
cmp dx, 0xa
mov dword [ebp + 4], eax
je 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bc60
jmp 0x1004b786
add edx, edx
add dword [ebp + 4], edx
jmp 0x1004b786
lea eax, [edx + edx]
add dword [ebp + 4], eax
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
jmp 0x1004bcb0
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 4
lea eax, [eax + 2]
mov dword [ebp + 4], eax
jne 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bcb0
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 4
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bce6
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
lea esp, [esp]
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 1
lea eax, [eax + 2]
mov dword [ebp + 4], eax
jne 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bd20
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 1
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bd56
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
lea esp, [esp]
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 0x10
lea eax, [eax + 2]
mov dword [ebp + 4], eax
jne 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bd90
jmp 0x1004b786
mov ecx, 1
cmp edx, ecx
jl 0x1004b786
mov eax, dword [ebp + 4]
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 0x10
lea eax, [eax + 2]
mov dword [ebp + 4], eax
je 0x10049e22
add ecx, 1
cmp ecx, dword [ebp + 0x98]
jle 0x1004bdc6
jmp 0x1004b786
cmp eax, 7
ja case.default.0x1004d062
jmp dword [eax*4 + 0x1004e984]
mov eax, ebp
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x1004bc08
mov eax, ebp
mov ebp, dword [ebp]
lea edx, [esp + 0x68]
cmp eax, edx
jb 0x1004be20
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004be2a
push eax
call dword [0x10c7f354]
add esp, 4
cmp ebp, edi
je 0x1004e7cf
mov dword [ebp + 0x138], 0xfffffffb
mov dword [ebx + 0x64], ebp
mov eax, dword [ebp + 0x13c]
add eax, 0xffffffff
cmp eax, 0x34
ja case.0x1004be51.31
jmp dword [eax*4 + 0x1004e9a4]
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004be94
lea ecx, [esp + 0x68]
mov eax, ebp
cmp eax, ecx
mov ebp, dword [ebp]
jb 0x1004be7a
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004be84
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
je 0x1004e7b0
mov dword [ebp + 0x138], esi
jmp 0x1004be3c
mov edx, dword [ebp + 0xa8]
mov dword [ebx + 0x54], edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je 0x1004d39f
mov edx, dword [ebp + 0xa0]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0xac]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp + 0xa0]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0xb0]
mov dword [eax + edx*4 + 4], ecx
mov edx, dword [ebx + 0xc]
sub edx, dword [ebp + 0x9c]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0xb4]
mov dword [eax + edx*4], ecx
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004a75a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004be62
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
jne 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004bf3d
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004bf4b
push 0x140
call dword [0x10c7f350]
add esp, 4
mov ecx, 2
mov dword [ebp + 0x13c], ecx
mov edx, dword [ebp + 4]
mov dword [eax + 4], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov edx, dword [ebp + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov esi, dword [ebp + 0x138]
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
mov esi, dword [ebp + 0x138]
cmp esi, 1
je 0x1004e3e2
test esi, esi
jne 0x1004be62
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, eax
mov dword [ebp + 8], ecx
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004bfd6
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004bfe4
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 5
jmp 0x1004d3d0
mov esi, dword [ebp + 0x138]
cmp esi, 1
je 0x1004c01f
test esi, esi
jne 0x1004be62
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je case.0x10049dc4.69
mov eax, dword [ebp + 8]
cmp byte [eax], 0x42
je 0x1004a752
test byte [ebp + 0x18], 1
je 0x1004d325
lea edx, [esp + 0x68]
mov eax, ebp
cmp eax, edx
mov ebp, dword [ebp]
jb 0x1004c04d
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c057
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
jmp 0x10049e87
mov esi, dword [ebp + 0x138]
cmp esi, 1
je 0x1004a752
test esi, esi
je 0x1004c07e
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je case.0x10049dc4.70
test byte [ebp + 0x18], 1
je 0x1004c1bd
jmp 0x1004c035
mov esi, dword [ebp + 0x138]
cmp esi, 1
jne 0x1004c0d9
mov eax, dword [ebp + 0x38]
lea ecx, [ebp + 0xb8]
mov dword [ebx + 0x5c], eax
cmp dword [ebp + 0x48], ecx
je 0x1004c0cc
mov edx, dword [ebp + 0x48]
push edx
call dword [0x10c7f34c]
add esp, 4
mov eax, ebp
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x1004c03d
test esi, esi
je 0x1004c0ea
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
lea esi, [ebp + 0x38]
mov dword [ebx + 0x5c], esi
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebx + 8]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.1030ad1f
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov ch, byte [eax + 1]
add esp, 0xc
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp byte [eax], 0x41
je 0x1004d537
mov edx, dword [esi]
lea eax, [ebp + 0xb8]
mov dword [ebx + 0x5c], edx
cmp dword [ebp + 0x48], eax
je 0x1004c13e
mov ecx, dword [ebp + 0x48]
push ecx
call dword [0x10c7f34c]
add esp, 4
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004a75a
mov esi, dword [ebp + 0x138]
cmp esi, 1
je 0x1004c177
test esi, esi
jne 0x1004be62
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je 0x1004d582
mov eax, dword [ebp + 8]
mov al, byte [eax]
cmp al, 0x4a
je 0x1004c188
cmp al, 0x41
jne 0x1004a752
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je 0x1004c188
mov edx, dword [ebx + 0x50]
mov dword [ebp + 0xc], edx
mov eax, dword [ebx + 0x4c]
mov dword [ebp + 4], eax
mov eax, dword [ebp + 8]
cmp byte [eax], 0x42
je 0x1004c1bd
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebp + 0x34]
jne 0x1004e4b0
add eax, 3
mov dword [ebp + 8], eax
jmp 0x10049d32
mov esi, dword [ebp + 0x138]
test esi, esi
lea edx, [esp + 0x68]
je 0x1004e541
mov eax, ebp
cmp eax, edx
jmp 0x1004be6a
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004bef0
jmp 0x1004be62
mov esi, dword [ebp + 0x138]
test esi, esi
lea edx, [esp + 0x68]
je 0x1004e57c
mov eax, ebp
cmp eax, edx
jmp 0x1004be6a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004be62
nop
mov eax, dword [ebp + 0x28]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 0x28], eax
cmp byte [eax], 0x41
je 0x1004c220
add eax, 3
mov dword [ebp + 8], eax
jmp 0x10049d32
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004a2bc
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004be62
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c282
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c290
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x11
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x30]
jmp 0x1004d3dc
mov esi, dword [ebp + 0x138]
test esi, esi
mov eax, ebp
mov ebp, dword [ebp]
je 0x1004c312
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6d
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004be62
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c2e9
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c2f7
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x13
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
jmp 0x1004d2a3
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x1004a75d
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004c334
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004a752
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x90]
mov eax, dword [ebp + 0xa0]
push ecx
push edx
push eax
mov eax, dword [ebp + 4]
mov edx, ebx
call fcn.10049be0
add esp, 0xc
test eax, eax
je 0x1004a752
mov edx, dword [ebp + 0x90]
add edx, edx
add dword [ebp + 4], edx
add dword [ebp + 0x8c], 1
xor edi, edi
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004c39a
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c3a8
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x14
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004c3ce
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004be6a
mov eax, dword [ebp + 0x90]
neg eax
add eax, eax
add dword [ebp + 4], eax
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebp + 0x2c]
lea edx, [esp + 0x68]
jae 0x1004e5da
mov eax, ebp
cmp eax, edx
jmp 0x1004a75a
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
je 0x1004c40d
mov eax, ebp
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x10049fd8
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x1004c6f0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004c6f0
movzx ecx, word [eax]
mov edx, ecx
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004c458
movzx edx, word [eax]
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, edx
add eax, 2
mov dword [ebp + 4], eax
cmp ecx, 0xff
jle 0x1004c4ac
cmp dword [ebp + 0xa4], 0x3b
je 0x10049e22
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c48f
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c49d
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x16
jmp 0x1004e6fd
mov eax, ecx
cdq
mov dword [esp + 0x14], ebx
and edx, 7
and ecx, 7
mov ebx, 1
add eax, edx
mov edx, dword [ebp + 0x24]
shl ebx, cl
sar eax, 3
test byte [eax + edx], bl
mov ebx, dword [esp + 0x14]
jne 0x1004c46d
jmp 0x10049e22
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
je 0x1004c4ef
mov eax, ebp
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x10049fd8
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x1004c6f0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004c6f0
movzx ecx, word [eax]
add eax, 2
mov dword [ebp + 4], eax
mov eax, ecx
cdq
mov dword [esp + 0x14], ebx
and edx, 7
and ecx, 7
mov ebx, 1
add eax, edx
mov edx, dword [ebp + 0x24]
shl ebx, cl
sar eax, 3
test byte [eax + edx], bl
mov ebx, dword [esp + 0x14]
je 0x10049e22
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c561
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c56f
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x17
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
je 0x1004c5b1
lea ecx, [esp + 0x68]
mov eax, ebp
cmp eax, ecx
mov ebp, dword [ebp]
jb 0x1004c5a0
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c5aa
push eax
call dword [0x10c7f354]
add esp, 4
test ebp, ebp
jmp 0x10049ff4
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp edx, ecx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004c5ee
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004c5d7
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c607
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c615
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x18
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
add dword [ebp + 4], 0xfffffffe
test esi, esi
je 0x1004c63f
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004c590
mov eax, dword [ebp + 4]
cmp eax, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c664
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c672
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x19
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
jne 0x10049fd0
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x10049e22
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x10049e22
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004c6db
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x24]
push ecx
push eax
call fcn.10058b70
add esp, 8
test eax, eax
jne 0x1004e60c
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp ecx, edx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004c748
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004c731
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c761
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c76f
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1b
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
jne 0x10049fd0
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004c6f0
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004c6f0
mov edx, ecx
movzx eax, word [edx]
cmp eax, dword [ebp + 0x88]
je 0x1004c7c5
cmp eax, dword [ebp + 0x80]
jne 0x10049e22
add dword [ebp + 4], 2
add dword [ebp + 0x8c], 1
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c7e9
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c7f7
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1c
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
add dword [ebp + 4], 0xfffffffe
mov edx, dword [ebp + 4]
cmp edx, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c83d
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c84b
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1d
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
jne 0x10049fd0
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004c6f0
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004c6f0
mov edx, ecx
movzx eax, word [edx]
cmp eax, dword [ebp + 0x88]
jne 0x10049e22
add dword [ebp + 4], 4
add dword [ebp + 0x8c], 1
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c8bd
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c8cb
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1e
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
add dword [ebp + 4], 0xfffffffc
mov edx, dword [ebp + 4]
cmp edx, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004c911
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004c91f
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1f
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004c96b
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
cmp eax, 0x100
jge 0x1004c979
mov ecx, dword [ebx + 0x14]
movzx eax, byte [ecx + eax]
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x1004c99b
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004c99b
cmp dword [ebp + 0x88], eax
jne 0x1004e64b
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004a75a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x1004a752
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004a752
movzx ecx, word [eax]
mov edx, dword [ebx + 0x14]
movzx ecx, byte [edx + ecx]
mov edx, dword [ebp + 0x88]
add eax, 2
cmp edx, ecx
mov dword [ebp + 4], eax
je 0x1004a752
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004ca14
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004ca22
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x27
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp ecx, edx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004ca7c
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004ca65
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004ca95
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004caa3
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x28
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
add dword [ebp + 4], 0xfffffffe
mov edx, dword [ebp + 4]
cmp edx, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004cae9
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004caf7
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x29
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov ecx, dword [ebp + 4]
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004cb43
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x8c]
cmp ecx, dword [ebp + 0x94]
jge 0x1004a752
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004a752
cmp dword [ebp + 0x88], eax
je 0x1004a752
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004cb8f
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004cb9d
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2a
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004cbe9
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004cbe9
mov eax, ecx
movzx edx, word [eax]
mov ecx, dword [ebp + 0x88]
add eax, 2
cmp ecx, edx
mov dword [ebp + 4], eax
jne 0x1004e687
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x1004a75a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp edx, ecx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004cc47
lea ebx, [ebx]
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004cc30
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004cc60
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004cc6e
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2c
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
add dword [ebp + 4], 0xfffffffe
mov eax, dword [ebp + 4]
cmp eax, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004ccb4
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004ccc2
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2d
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004bef0
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004bef0
mov eax, ecx
movzx esi, word [eax]
mov edx, esi
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004cd2c
movzx ecx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, ecx
add eax, 2
mov dword [ebp + 4], eax
lea edx, [ebp + 0x70]
lea edi, [ebp + 0x74]
push edx
call fcn.10058880
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax]
xor edx, edx
add esp, 4
cmp ecx, dword [ebp + 0x78]
sete dl
cmp edx, dword [ebp + 0x68]
je 0x1004a752
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004cd76
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004cd84
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2e
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x1004bef0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004bef0
movzx esi, word [eax]
mov ecx, esi
add eax, 2
and ecx, 0xfffffc00
cmp ecx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004cdec
movzx edx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
add eax, 2
mov dword [ebp + 4], eax
lea eax, [ebp + 0x70]
lea edi, [ebp + 0x74]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
je 0x1004a752
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004ce74
lea edi, [ebp + 0x74]
cmp dword [esp + 0x18], 0
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov dword [esp + 0x14], 1
je 0x1004ce4e
mov ecx, esi
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x1004ce4e
movzx edx, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
mov dword [esp + 0x14], 2
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
jne 0x1004ce74
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax]
add dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jb 0x1004ce12
add dword [ebp + 0x8c], 1
xor edi, edi
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004ce96
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004cea4
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2f
jmp 0x1004e6fd
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
je 0x1004cecc
mov eax, ebp
lea ecx, [esp + 0x68]
cmp eax, ecx
jmp 0x10049fd8
mov edx, dword [ebp + 0x8c]
cmp edx, dword [ebp + 0x94]
jge 0x10049e22
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x10049e22
mov ecx, eax
movzx eax, word [ecx]
mov edx, eax
add ecx, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], ecx
jne 0x1004cf18
movzx edx, word [ecx]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x84]
add ecx, 0xfffffffb
cmp ecx, 7
ja case.default.0x1004cf2a
jmp dword [ecx*4 + 0x1004ea78]
test byte [ebp + 0x10], 4
jne case.0x1004cf2a.12
cmp eax, 0xa
je 0x10049e22
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004cf62
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004cf70
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x30
jmp 0x1004e6fd
cmp eax, 0x100
jge case.0x1004cf2a.12
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 4
je case.0x1004cf2a.12
jmp 0x10049e22
cmp eax, 0x100
jge 0x10049e22
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 4
jne case.0x1004cf2a.12
jmp 0x10049e22
cmp eax, 0x100
jge case.0x1004cf2a.12
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 1
je case.0x1004cf2a.12
jmp 0x10049e22
cmp eax, 0x100
jge 0x10049e22
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 1
jne case.0x1004cf2a.12
jmp 0x10049e22
cmp eax, 0x100
jge case.0x1004cf2a.12
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 0x10
je case.0x1004cf2a.12
jmp 0x10049e22
cmp eax, 0x100
jge 0x10049e22
mov edx, dword [ebx + 0x18]
test byte [eax + edx], 0x10
jne case.0x1004cf2a.12
jmp 0x10049e22
mov esi, dword [ebp + 0x138]
xor edi, edi
cmp esi, edi
jne 0x10049fd0
mov eax, dword [ebp + 0x8c]
cmp eax, dword [ebp + 0x94]
jge 0x1004c6f0
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004c6f0
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x84]
add ecx, 0xfffffffb
cmp ecx, 7
ja case.default.0x1004d062
jmp dword [ecx*4 + 0x1004ea98]
test byte [ebp + 0x10], 4
jne case.0x1004d062.12
cmp eax, 0xa
jne case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
je case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 4
jne case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
je case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 1
jne case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
je case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov ecx, dword [ebx + 0x18]
test byte [eax + ecx], 0x10
jne case.0x1004d062.12
mov eax, ebp
lea edx, [esp + 0x68]
cmp eax, edx
jmp 0x10049e2a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp edx, ecx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004d177
lea esp, [esp]
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004d160
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d190
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d19e
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x32
jmp 0x1004d29a
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c632
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp ecx, edx
mov eax, dword [ebp + 4]
je 0x1004a752
lea edi, [ebp + 0x74]
jmp 0x1004d1e0
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004d208
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004d1f1
cmp dword [esp + 0x18], 0
jne 0x1004e727
mov edx, dword [ebp + 4]
movzx esi, word [edx]
jmp 0x1004e74c
mov esi, dword [ebp + 0x138]
test esi, esi
jne 0x1004c588
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0x2c]
add dword [ebp + 4], 0xfffffffe
cmp edx, ecx
mov eax, dword [ebp + 4]
je 0x1004a752
movzx edx, word [eax]
and edx, 0xfffffc00
cmp edx, 0xdc00
jne 0x1004d269
sub eax, 2
mov dword [ebp + 4], eax
movzx ecx, word [eax]
and ecx, 0xfffffc00
cmp ecx, 0xdc00
je 0x1004d252
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d282
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d290
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x34
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], 0
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov esi, dword [ebp + 0x138]
add dword [ebp + 4], 0xfffffffe
test esi, esi
jne 0x1004c632
mov eax, dword [ebp + 4]
cmp eax, dword [ebp + 0x2c]
jb 0x1004a752
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d2ff
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d30d
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x35
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
jmp 0x1004e5b5
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je 0x1004d325
add eax, 3
mov dword [ebp + 8], eax
mov eax, dword [ebx + 0x50]
mov dword [ebp + 0xc], eax
jmp 0x10049d32
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
mov dword [ebp + 0xac], edx
mov eax, dword [ebp + 0xa0]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + eax*4 + 4]
mov dword [ebp + 0xb0], edx
mov eax, dword [ebx + 0xc]
sub eax, dword [ebp + 0x9c]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
mov dword [ebp + 0xb4], edx
mov eax, dword [ebx + 0x54]
mov dword [ebp + 0xa8], eax
mov ecx, dword [ebp + 4]
sub ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
sar ecx, 1
sub edx, dword [ebp + 0x9c]
mov dword [eax + edx*4], ecx
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004d3b8
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d3c6
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 1
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], 2
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov eax, dword [ebp + 8]
cmp byte [eax + 3], 0x4c
jne 0x1004d4ab
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
lea eax, [ecx + ecx]
cmp eax, 0x1fffe
mov dword [ebp + 0xa0], eax
jne 0x1004d430
xor eax, eax
cmp dword [ebx + 0x5c], edi
setne al
jmp 0x1004d446
cmp eax, dword [ebp + 0xc]
jge 0x1004d444
mov edx, dword [ebx + 8]
cmp dword [edx + eax*4], edi
jl 0x1004d444
mov eax, 1
jmp 0x1004d446
xor eax, eax
mov dword [ebp + 0x54], eax
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004d462
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d470
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 3
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
cmp dword [ebp + 0x54], edi
je 0x1004d494
mov edx, dword [ebp + 8]
mov ecx, 6
add edx, ecx
jmp 0x1004d3dc
mov esi, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [esi + 1]
mov edx, esi
mov cl, byte [esi + 2]
add ecx, 3
add edx, ecx
jmp 0x1004d3dc
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d4c4
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d4d2
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 4
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], 3
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
lea eax, [ebp + 0xb8]
mov dword [ebp + 0x48], eax
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebx + 8]
mov eax, dword [ebp + 0x48]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.1030ad1f
mov ecx, dword [ebx + 0x48]
mov dword [ebp + 0x44], ecx
mov edx, dword [ebp + 4]
add esp, 0xc
mov dword [ebx + 0x48], edx
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004d550
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d55e
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 8
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x1c]
jmp 0x1004d3d9
mov eax, dword [ebp + 8]
mov dword [ebp + 0x30], eax
mov ecx, dword [ebp + 4]
mov dword [ebp + 0x34], ecx
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d59b
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d5a9
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 9
jmp 0x1004d3d0
mov edx, dword [ebp + 8]
add edx, 1
lea eax, [esp + 0x68]
cmp ebp, eax
mov dword [ebp + 0x28], edx
jb 0x1004d5da
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d5e8
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xe
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x28]
jmp 0x1004d3dc
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 0x28], edx
lea esp, [esp]
mov eax, dword [ebp + 0x28]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 0x28], eax
cmp byte [eax], 0x41
je 0x1004d610
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d63e
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d64c
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xf
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x28]
jmp 0x1004d3d9
mov edx, dword [ebp + 8]
cmp byte [edx], 0x44
jne 0x1004d6ca
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004d685
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d693
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x10
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edi
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004d6e3
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004d6f1
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x12
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x30]
jmp 0x1004d3dc
mov eax, dword [ebp + 4]
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x98]
mov dword [esp + 0x10], ecx
lea esp, [esp]
mov edx, dword [esp + 0x10]
cmp edx, dword [ebp + 0x94]
jge 0x1004c3db
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x90]
mov ecx, dword [ebp + 0xa0]
mov edi, dword [ebp + 4]
push eax
push esi
push ecx
mov edx, ebx
mov eax, edi
call fcn.10049be0
add esp, 0xc
test eax, eax
je 0x1004c3db
add dword [esp + 0x10], 1
lea edx, [edi + esi*2]
mov dword [ebp + 4], edx
jmp 0x1004d720
mov ecx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], ecx
jmp 0x1004c548
cmp dword [esp + 0x18], edi
mov edx, dword [ebp + 4]
mov dword [ebp + 0x2c], edx
mov ecx, dword [ebp + 0x98]
mov dword [esp + 0x10], ecx
je 0x1004d840
cmp ecx, dword [ebp + 0x94]
jge 0x1004c5ee
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
mov edi, 1
jae 0x1004c5ee
mov esi, eax
movzx eax, word [esi]
mov edx, eax
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004d7d6
movzx edx, word [esi + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edi, 2
cmp eax, 0xff
jle 0x1004d7ec
cmp dword [ebp + 0xa4], 0x3b
je 0x1004c5ee
jmp 0x1004d81b
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x14], edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x14]
test dl, al
je 0x1004c5ee
mov ecx, dword [esp + 0x10]
lea eax, [esi + edi*2]
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
mov dword [esp + 0x10], ecx
jl 0x1004d79d
jmp 0x1004c5ee
mov edx, dword [esp + 0x10]
cmp edx, dword [ebp + 0x94]
jge 0x1004c63f
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004c63f
mov edi, eax
movzx esi, word [edi]
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x14], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x14]
test dl, al
je 0x1004c63f
add edi, 2
add dword [esp + 0x10], 1
mov dword [ebp + 4], edi
jmp 0x1004d840
mov ecx, dword [ebp + 4]
mov dword [ebp + 0x2c], ecx
mov edi, dword [ebp + 0x98]
cmp edi, dword [ebp + 0x94]
jge 0x1004c748
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
mov esi, 1
jae 0x1004c748
mov ecx, edx
movzx eax, word [ecx]
mov edx, eax
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004d8ec
movzx ecx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov esi, 2
mov edx, dword [ebp + 0x24]
push edx
push eax
call fcn.10058b70
add esp, 8
test eax, eax
je 0x1004c748
lea eax, [esi + esi]
add dword [ebp + 4], eax
add edi, 1
cmp edi, dword [ebp + 0x94]
jl 0x1004d8b3
jmp 0x1004c748
mov edx, dword [ebp + 4]
mov dword [ebp + 0x2c], edx
mov edx, dword [ebp + 0x98]
cmp edx, dword [ebp + 0x94]
jge 0x1004c818
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004c818
movzx ecx, word [eax]
cmp ecx, dword [ebp + 0x88]
je 0x1004d94e
cmp ecx, esi
jne 0x1004c818
add eax, 2
mov dword [ebp + 4], eax
add edx, 1
jmp 0x1004d923
mov edx, dword [ebp + 4]
mov dword [ebp + 0x2c], edx
mov ecx, dword [ebp + 0x98]
jmp 0x1004d970
cmp ecx, dword [ebp + 0x94]
jge 0x1004c8ec
mov eax, dword [ebx + 0x44]
sub eax, 4
cmp dword [ebp + 4], eax
ja 0x1004c8ec
mov eax, dword [ebp + 4]
movzx edx, word [eax]
cmp edx, dword [ebp + 0x88]
jne 0x1004c8ec
add eax, 4
mov dword [ebp + 4], eax
add ecx, 1
jmp 0x1004d970
mov ecx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], ecx
jmp 0x1004c9fb
cmp dword [esp + 0x18], edi
mov edx, dword [ebp + 4]
mov dword [ebp + 0x2c], edx
je 0x1004da49
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004ca7c
jmp 0x1004d9e0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
mov edx, 1
jae 0x1004ca7c
mov ecx, eax
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004da19
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004da27
mov edi, dword [ebx + 0x14]
movzx eax, byte [edi + eax]
cmp dword [ebp + 0x88], eax
je 0x1004ca7c
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004d9e0
jmp 0x1004ca7c
mov ecx, dword [ebp + 0x98]
nop
cmp ecx, dword [ebp + 0x94]
jge 0x1004cac4
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004cac4
mov esi, dword [ebx + 0x14]
mov eax, edx
movzx edx, word [eax]
movzx edx, byte [edx + esi]
cmp dword [ebp + 0x88], edx
je 0x1004cac4
add eax, 2
mov dword [ebp + 4], eax
add ecx, 1
jmp 0x1004da50
mov ecx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], ecx
jmp 0x1004e690
cmp dword [esp + 0x18], edi
mov edx, dword [ebp + 4]
mov dword [ebp + 0x2c], edx
je 0x1004db1b
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004cc47
lea ebx, [ebx]
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
mov edx, 1
jae 0x1004cc47
mov ecx, eax
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004daf9
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp dword [ebp + 0x88], eax
je 0x1004cc47
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004dac0
jmp 0x1004cc47
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004cc8f
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004cc8f
mov eax, edx
movzx edx, word [eax]
cmp dword [ebp + 0x88], edx
je 0x1004cc8f
add eax, 2
mov dword [ebp + 4], eax
add ecx, 1
jmp 0x1004db21
cmp dword [ebp + 0x64], edi
jle 0x1004db6b
mov eax, dword [ebp + 0x98]
mov dword [ebp + 0x8c], eax
jmp 0x1004cd5d
cmp dword [ebp + 0x84], 0xf
jne 0x1004db85
mov ecx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], ecx
jmp 0x1004ce7d
cmp dword [esp + 0x18], edi
je 0x1004db9c
mov edx, dword [ebp + 0x98]
mov dword [ebp + 0x8c], edx
jmp 0x1004cf49
mov eax, dword [ebp + 0x98]
mov dword [ebp + 0x8c], eax
jmp 0x1004e6cc
mov eax, dword [ebp + 0x98]
cmp eax, dword [ebp + 0x94]
mov dword [esp + 0x10], eax
jge 0x1004d177
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov dword [esp + 0x14], 1
jae 0x1004d177
mov eax, ecx
movzx esi, word [eax]
mov edx, esi
and edx, 0xfffffc00
cmp edx, 0xd800
jne 0x1004dc03
movzx eax, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, eax
mov dword [esp + 0x14], 2
lea ecx, [ebp + 0x70]
lea edi, [ebp + 0x74]
push ecx
call fcn.10058880
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x7c]
mov eax, dword [edx]
xor ecx, ecx
add esp, 4
cmp eax, dword [ebp + 0x78]
sete cl
cmp ecx, dword [ebp + 0x68]
je 0x1004d177
mov edx, dword [esp + 0x14]
lea eax, [edx + edx]
add dword [ebp + 4], eax
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebp + 0x94]
mov dword [esp + 0x10], eax
jl 0x1004dbc3
jmp 0x1004d177
mov eax, dword [ebp + 0x98]
cmp eax, dword [ebp + 0x94]
mov dword [esp + 0x10], eax
jge 0x1004dd4b
jmp 0x1004dc70
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
jae 0x1004dd49
mov eax, ecx
movzx esi, word [eax]
mov edx, esi
add eax, 2
and edx, 0xfffffc00
cmp edx, 0xd800
mov dword [ebp + 4], eax
jne 0x1004dcab
movzx ecx, word [eax]
add esi, 0xffff2809
shl esi, 0xa
add esi, ecx
add eax, 2
mov dword [ebp + 4], eax
lea eax, [ebp + 0x70]
lea edi, [ebp + 0x74]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
je 0x1004dd49
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004dd32
mov edi, edi
cmp dword [esp + 0x18], 0
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov dword [esp + 0x14], 1
je 0x1004dd0c
mov ecx, esi
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x1004dd0c
movzx edx, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
mov dword [esp + 0x14], 2
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
jne 0x1004dd32
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax]
add dword [ebp + 4], ecx
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jb 0x1004dcd0
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebp + 0x94]
mov dword [esp + 0x10], eax
jl 0x1004dc70
xor edi, edi
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004dd64
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004dd72
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x33
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edi
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov eax, dword [ebp + 0x94]
cmp eax, 0x7fffffff
jge 0x1004de67
test byte [ebp + 0x10], 4
jne 0x1004de1e
mov edi, dword [ebp + 0x98]
cmp edi, eax
jge 0x1004d269
mov ecx, dword [ebp + 4]
mov esi, dword [ebx + 0x44]
cmp ecx, esi
jae 0x1004d269
mov eax, dword [ebp + 4]
cmp word [eax], 0xa
je 0x1004d269
add eax, 2
mov dword [ebp + 4], eax
mov esi, dword [ebx + 0x44]
mov ecx, eax
cmp ecx, esi
jae 0x1004de0e
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
jne 0x1004de0e
add eax, 2
mov dword [ebp + 4], eax
mov esi, dword [ebx + 0x44]
mov ecx, eax
cmp ecx, esi
jb 0x1004ddf5
add edi, 1
cmp edi, dword [ebp + 0x94]
jl 0x1004ddd1
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, eax
jge 0x1004d269
lea esp, [esp]
add dword [ebp + 4], 2
mov eax, dword [ebp + 4]
mov ecx, eax
cmp ecx, dword [ebx + 0x44]
jae 0x1004de57
mov edi, edi
mov dl, byte [eax]
and dl, 0xc0
cmp dl, 0x80
jne 0x1004de57
add eax, 2
mov ecx, eax
mov dword [ebp + 4], eax
cmp ecx, dword [ebx + 0x44]
jb 0x1004de40
add esi, 1
cmp esi, dword [ebp + 0x94]
jl 0x1004de30
jmp 0x1004d269
test byte [ebp + 0x10], 4
jne 0x1004deae
mov ecx, dword [ebp + 0x98]
cmp ecx, eax
jge 0x1004d269
jmp 0x1004de80
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004d269
mov eax, edx
cmp word [eax], 0xa
je 0x1004d269
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004de80
jmp 0x1004d269
mov ecx, dword [ebx + 0x44]
sub ecx, dword [ebp + 4]
sub eax, dword [ebp + 0x98]
sar ecx, 1
cmp eax, ecx
jle 0x1004dec2
mov eax, ecx
add eax, eax
add dword [ebp + 4], eax
jmp 0x1004d269
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
mov ecx, dword [ebp + 0x94]
sub ecx, dword [ebp + 0x98]
sar eax, 1
cmp ecx, eax
jle 0x1004dee6
mov ecx, eax
add ecx, ecx
add dword [ebp + 4], ecx
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
mov ecx, eax
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004df3b
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004df4f
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 4
jne 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004df02
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004dfae
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004d269
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 4
je 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004df77
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004e025
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004e039
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 1
jne 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004dfee
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004e098
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004d269
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 1
je 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004e061
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004e10f
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004e123
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 0x10
jne 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004e0d8
jmp 0x1004d269
mov esi, dword [ebp + 0x98]
cmp esi, dword [ebp + 0x94]
jge 0x1004d269
mov ecx, dword [ebp + 4]
cmp ecx, dword [ebx + 0x44]
mov edx, 1
jae 0x1004d269
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfffffc00
cmp edi, 0xd800
jne 0x1004e182
movzx edx, word [ecx + 2]
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov edx, 2
cmp eax, 0x100
jge 0x1004d269
mov edi, dword [ebx + 0x18]
test byte [eax + edi], 0x10
je 0x1004d269
lea eax, [ecx + edx*2]
add esi, 1
mov dword [ebp + 4], eax
cmp esi, dword [ebp + 0x94]
jl 0x1004e14b
jmp 0x1004d269
test byte [ebp + 0x10], 4
jne case.0x1004bdf4.7
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
jmp 0x1004e1d0
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004d2da
mov eax, edx
cmp word [eax], 0xa
je 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e1d0
jmp 0x1004d2da
mov eax, dword [ebx + 0x44]
sub eax, dword [ebp + 4]
mov ecx, dword [ebp + 0x94]
sub ecx, dword [ebp + 0x98]
sar eax, 1
cmp ecx, eax
jle 0x1004e218
mov ecx, eax
lea eax, [ecx + ecx]
add dword [ebp + 4], eax
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
jmp 0x1004e240
mov edx, dword [ebp + 4]
cmp edx, dword [ebx + 0x44]
jae 0x1004d2da
mov esi, dword [ebx + 0x18]
mov eax, edx
movzx edx, word [eax]
test byte [edx + esi], 4
jne 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e240
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
jmp 0x1004e290
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004d2da
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 4
je 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e290
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004d2da
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 1
jne 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e2d4
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
jmp 0x1004e320
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004d2da
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 1
je 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e320
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004d2da
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 0x10
jne 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e364
jmp 0x1004d2da
mov ecx, dword [ebp + 0x98]
cmp ecx, dword [ebp + 0x94]
jge 0x1004d2da
jmp 0x1004e3b0
mov eax, dword [ebp + 4]
cmp eax, dword [ebx + 0x44]
jae 0x1004d2da
movzx edx, word [eax]
mov esi, dword [ebx + 0x18]
test byte [edx + esi], 0x10
je 0x1004d2da
add eax, 2
add ecx, 1
mov dword [ebp + 4], eax
cmp ecx, dword [ebp + 0x94]
jl 0x1004e3b0
jmp 0x1004d2da
mov eax, dword [ebp + 8]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
lea eax, [ecx + eax + 3]
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
jne 0x1004bfbd
lea ecx, [ecx]
mov eax, dword [ebp + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp + 8], eax
cmp byte [eax], 0x41
je 0x1004e400
jmp 0x1004bfbd
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004e433
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e441
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 6
jmp 0x1004e47e
lea eax, [esp + 0x68]
cmp ebp, eax
jb 0x1004e466
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e474
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 7
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 2
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov eax, dword [ebp + 8]
cmp byte [eax + 3], 0x12
jne 0x1004e4c8
movzx edx, byte [eax + 4]
mov eax, dword [ebp + 0x10]
and eax, 0xfffffff8
or edx, eax
mov dword [ebp + 0x10], edx
mov ecx, dword [ebp + 8]
cmp byte [ecx], 0x44
lea edx, [esp + 0x68]
jne 0x1004e506
cmp ebp, edx
jb 0x1004e4e9
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e4f7
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xa
jmp 0x1004e5a9
cmp ebp, edx
jb 0x1004e51b
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e529
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xc
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x30]
jmp 0x1004d3dc
cmp ebp, edx
jb 0x1004e556
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e564
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xb
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x30]
jmp 0x1004d3dc
cmp ebp, edx
jb 0x1004e591
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e59f
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0xd
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], 0
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
cmp ebp, edx
jb 0x1004e5ef
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e5fd
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x15
jmp 0x1004d29a
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004e62e
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e63c
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x1a
jmp 0x1004e6fd
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004e66d
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e67b
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x26
jmp 0x1004e6fd
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004e6a9
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e6b7
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x2b
jmp 0x1004e6fd
add dword [ebp + 0x8c], 1
xor edi, edi
lea edx, [esp + 0x68]
cmp ebp, edx
jb 0x1004e6e5
lea eax, [ebp + 0x140]
lea ecx, [esp + 0x1468]
cmp eax, ecx
jb 0x1004e6f3
push 0x140
call dword [0x10c7f350]
add esp, 4
mov dword [ebp + 0x13c], 0x31
mov ecx, dword [ebp + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edi
mov dword [eax], ebp
mov ebp, eax
jmp 0x10049cb6
mov eax, dword [ebp + 4]
movzx esi, word [eax]
mov ecx, esi
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x1004e74c
movzx edx, word [eax + 2]
add esi, 0xffff2809
shl esi, 0xa
add esi, edx
lea eax, [ebp + 0x70]
push eax
call fcn.10058880
add esp, 4
cmp eax, 2
mov dword [ebp + 0x6c], eax
jne 0x1004dd49
add dword [ebp + 4], 0xfffffffe
mov eax, dword [ebp + 4]
jmp 0x1004d1e0
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
call fcn.102f2d46
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x145c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x145c
ret