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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [0x10067068]
xor eax, ebp
mov dword [ebp - 8], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x98], edx
mov edx, dword [ebp + 0x1c]
push esi
push edi
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xb0], edx
test eax, eax
jne 0x1003e283
cmp dword [ebp + 0x20], 0
lea eax, [ebp + 0x20]
jne 0x1003e269
push 1
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.1003e1f0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jae 0x10041835
mov edi, edi
mov edx, dword [ebp + 0x20]
inc dword [ebx]
cmp edx, dword [ebx + 8]
jae 0x10041865
cmp dword [ebx + 0x9c], 2
mov esi, dword [ebp - 0x88]
jne 0x1003e2d5
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xb0], ecx
mov dword [ebx + 0x9c], 0
mov edi, dword [ebp - 0x90]
movzx edx, word [edi]
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x94], eax
mov eax, edx
mov dword [ebp - 0xb4], eax
cmp eax, 0x9b
ja case.0x1003e306.15
movzx ecx, byte [eax + 0x10042c6c]
jmp dword [ecx*4 + 0x10042b30]
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x10041abd
movzx edx, word [edi]
movzx ecx, word [edi + 2]
movzx eax, byte [edx + 0x10055f08]
add eax, ecx
lea edi, [edi + eax*2]
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov edx, dword [ebx + 0xb0]
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xac], edx
nop
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
lea ecx, [edi + 4]
push ecx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 1
je 0x1003e3c6
cmp eax, 0xfffffc20
jne 0x1003e3a3
movzx edx, word [edi + 2]
lea ecx, [edi + edx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x1003e3ab
cmp word [ecx], 0x71
jmp 0x1003e3a5
test eax, eax
jne 0x10042b1f
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 0xac]
lea edi, [edi + eax*2]
mov dword [ebx + 0xb0], ecx
cmp word [edi], 0x71
je 0x1003e350
jmp 0x1003e3d2
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0xa4], edx
movzx eax, word [edi]
cmp eax, 0x7c
je 0x1003e3e3
cmp eax, 0x71
jne case.0x1003e306.151
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x1003e3e3
cmp word [edi], 0x72
mov ecx, dword [ebx + 0x90]
mov esi, dword [ebx + 0x84]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x88], esi
je 0x1003e41b
cmp esi, dword [ebp - 0xb4]
jne 0x1004156c
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov dword [ebp - 0xa8], 0
jmp 0x1003eff5
cmp word [edi + 4], 0x70
movzx edx, word [edi + 2]
mov dword [ebp - 0xac], edx
jne 0x1003e52c
cmp dword [0x1006a0c4], 0
je 0x1003e522
movzx eax, word [edi + 6]
mov edx, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x78]
sub edx, eax
sar edx, 1
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebp - 0xa4]
sub ecx, eax
mov dword [ebp - 0x100], eax
mov edx, esi
sub edx, eax
movzx eax, word [edi + 8]
sar edx, 1
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xf4], edx
cdq
sar ecx, 1
sub eax, edx
mov edx, dword [ebx + 0x94]
mov dword [ebp - 0xf8], ecx
movzx ecx, word [edi + 0xa]
sar eax, 1
and edx, 0xffff
mov dword [ebp - 0x10c], 2
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
jne 0x1003e4ec
mov dword [ebp - 0xec], 0xffffffff
mov eax, dword [ebx + 0xac]
mov ecx, dword [ebx + 0xb4]
lea edx, [ebp - 0x10c]
push edx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xdc], ecx
call dword [0x1006a0c4]
add esp, 4
test eax, eax
jg case.0x1003e306.151
js 0x10042b1f
add edi, 8
sub dword [ebp - 0xac], 4
movzx ecx, word [edi + 4]
lea eax, [edi + 4]
cmp ecx, 0x89
je 0x1003e769
cmp ecx, 0x8a
je 0x1003e769
cmp ecx, 0x87
je 0x1003e5bf
cmp ecx, 0x88
je 0x1003e5bf
cmp ecx, 0x8b
jne 0x1003e56f
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x1003e91c
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push 0
push ebx
push edx
push ecx
push eax
push esi
mov dword [ebx + 0x9c], 1
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 1
je 0x10041513
test eax, eax
je 0x1003e5b1
cmp eax, 0xfffffc20
jne 0x10042b1f
mov edx, dword [ebp - 0xac]
lea edi, [edi + edx*2]
jmp 0x1003e91c
movzx eax, word [edi + 6]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003e5da
mov edx, dword [ebx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x1003e755
mov dword [ebp - 0x94], 0
cmp ecx, 0x88
jne 0x1003e908
mov ecx, dword [ebx + 0x30]
sar eax, 1
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jge 0x1003e908
movzx edx, word [ecx]
cmp edx, dword [ebp - 0xb8]
je 0x1003e629
mov edx, dword [ebx + 0x24]
inc eax
lea ecx, [ecx + edx*2]
cmp eax, dword [ebx + 0x20]
jl 0x1003e612
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jge 0x1003e908
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x1003e6aa
mov eax, dword [ebx + 0x24]
add eax, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
add eax, 2
add ecx, 2
call fcn.100438a0
test eax, eax
jne 0x1003e6aa
mov ecx, dword [ebp - 0x9c]
movzx eax, word [ecx]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003e69b
mov edx, dword [ebx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x1003e755
mov dword [ebp - 0x94], 0
cmp ecx, dword [ebx + 0x30]
ja 0x1003e654
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jge 0x1003e908
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp - 0xa0]
add eax, eax
add ecx, 2
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb8], ecx
jmp 0x1003e6f0
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x9c], eax
add eax, 2
call fcn.100438a0
test eax, eax
jne 0x1003e908
mov edx, dword [ebp - 0x9c]
movzx eax, word [edx]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003e734
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x1003e755
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jl 0x1003e6f0
jmp 0x1003e908
mov dword [ebp - 0x94], 1
mov eax, 2
jmp 0x1003e90c
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x1003e77f
movzx edx, word [edi + 2]
lea edi, [edi + edx*2]
jmp 0x1003e91c
movzx edx, word [edi + 6]
mov dword [ebp - 0x9c], edx
cmp edx, 0xffff
je 0x1003e755
mov eax, dword [eax + 4]
mov dword [ebp - 0xb8], eax
cmp edx, eax
je 0x1003e755
mov dword [ebp - 0x94], 0
cmp ecx, 0x8a
jne 0x1003e908
mov eax, dword [ebx + 0x30]
xor ecx, ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebx + 0x20]
jge 0x1003e908
mov edi, edi
movzx edx, word [eax]
cmp edx, dword [ebp - 0x9c]
je 0x1003e7e7
mov edx, dword [ebx + 0x24]
inc ecx
lea eax, [eax + edx*2]
cmp ecx, dword [ebx + 0x20]
jl 0x1003e7d0
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebx + 0x20]
jge 0x1003e908
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebx + 0x30]
jbe 0x1003e880
mov eax, dword [ebx + 0x24]
add eax, eax
mov dword [ebp - 0xac], eax
jmp 0x1003e820
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
add eax, 2
add ecx, 2
call fcn.100438a0
test eax, eax
jne 0x1003e874
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax]
xor eax, eax
cmp ecx, dword [ebp - 0xb8]
sete al
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x1003e75f
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebx + 0x30]
ja 0x1003e820
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebx + 0x20]
jge 0x1003e908
mov ecx, dword [ebx + 0x24]
add ecx, ecx
add eax, 2
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], eax
jmp 0x1003e8b0
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
add eax, 2
call fcn.100438a0
test eax, eax
jne 0x1003e908
mov eax, dword [ebp - 0x9c]
movzx ecx, word [eax]
xor eax, eax
cmp ecx, dword [ebp - 0xb8]
sete al
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x1003e75f
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jl 0x1003e8b0
movzx eax, word [edi + 2]
cmp dword [ebp - 0x94], 0
lea edi, [edi + eax*2]
jne 0x1004154e
cmp word [edi], 0x71
je 0x1004154e
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
lea ecx, [edx + edx]
or eax, edx
mov dword [ebp - 0xa0], edx
mov dword [ebx + 0x94], eax
cmp ecx, dword [ebx + 0x14]
jl 0x1003e972
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub edx, dword [ebp - 0xa0]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [ebx + 0xc]
mov eax, esi
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [edx + ecx*4 + 4], eax
cmp dword [ebp - 0x98], ecx
jg 0x1003e9a3
add ecx, 2
mov dword [ebp - 0x98], ecx
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xac], eax
mov eax, 1
cmp dword [ebx + 0x9c], eax
jne 0x1003e9dc
mov dword [ebp - 0x94], eax
mov dword [ebx + 0x9c], 0
jmp 0x1003e9f0
mov dword [ebp - 0x94], 0
jmp 0x1003e9f0
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa4]
inc ecx
push ecx
push 0
push ebx
push edx
push eax
lea ecx, [edi + 4]
push ecx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 1
je 0x1003ea69
cmp eax, 0xfffffc19
je 0x1003ea69
mov edx, dword [ebp - 0xac]
mov dword [ebx + 0xb0], edx
cmp eax, 0xfffffc20
jne 0x1003ea51
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x1003ea59
cmp word [ecx], 0x71
jmp 0x1003ea53
test eax, eax
jne 0x10042b1f
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003e9f0
jmp 0x1003ea75
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0xa4], eax
cmp word [edi], 0x72
je case.0x1003e306.151
cmp dword [ebp - 0x94], 0
jne 0x10041eb2
lea esp, [esp]
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x1003ea90
mov edx, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x98], edx
jmp 0x1003e2db
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xac], eax
mov eax, 1
cmp dword [ebx + 0x9c], eax
jne 0x1003eae3
mov dword [ebp - 0x94], eax
mov dword [ebx + 0x9c], 0
jmp 0x1003eaf0
mov dword [ebp - 0x94], 0
lea ecx, [ecx]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa4]
inc ecx
push ecx
push 0
push ebx
push edx
push eax
lea ecx, [edi + 4]
push ecx
push esi
call fcn.1003e1f0
mov edx, dword [ebp - 0xac]
add esp, 0x1c
mov dword [ebx + 0xb0], edx
cmp eax, 0xfffffc20
jg 0x1003eb45
jne 0x1003eb60
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x1003eb81
cmp word [edi], 0x71
je 0x1003eb50
cmp word [eax], 0x71
jne 0x1003eb81
jmp 0x1003eb50
mov ecx, eax
sub ecx, 0
jne 0x1004184d
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x1003eaf0
jmp 0x1003eb8f
cmp eax, 0xfffffc19
je case.0x1003e306.151
cmp eax, 0xfffffc1b
jle 0x10042b1f
cmp eax, 0xfffffc1f
jg 0x10042b1f
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003eb81
cmp dword [ebp - 0x94], 0
jne 0x10041eb2
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx eax, word [edi + 2]
neg eax
lea esi, [esi + eax*2]
mov dword [ebp - 0x88], esi
cmp esi, dword [ebx + 0x78]
jb case.0x1003e306.151
cmp esi, dword [ebx + 0x88]
jae 0x1003ebd0
mov dword [ebx + 0x88], esi
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp dword [0x1006a0c4], 0
je 0x1003ecb3
movzx ecx, word [edi + 2]
mov eax, dword [ebx + 0x78]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebx + 0x7c]
sub ecx, eax
sar ecx, 1
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0xa4]
sub edx, eax
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], eax
sar edx, 1
mov ecx, esi
sub ecx, eax
movzx eax, word [edi + 6]
mov dword [ebp - 0x12c], edx
movzx edx, word [edi + 4]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x98]
sar ecx, 1
mov dword [ebp - 0x118], edx
cdq
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebx + 0x94]
sub eax, edx
sar eax, 1
and ecx, 0xffff
mov dword [ebp - 0x140], 2
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
jne 0x1003ec7d
mov dword [ebp - 0x120], 0xffffffff
mov edx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xb4]
lea ecx, [ebp - 0x140]
push ecx
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x110], eax
call dword [0x1006a0c4]
add esp, 4
test eax, eax
jg case.0x1003e306.151
js 0x10042b1f
add edi, 8
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x74]
lea ecx, [eax + edx*2]
mov dword [ebp - 0xb4], ecx
cmp ecx, eax
jne 0x1003ecd9
xor edx, edx
jmp 0x1003ecdd
movzx edx, word [ecx + 4]
mov ecx, dword [ebx + 0xa8]
mov eax, ecx
test eax, eax
je 0x1003ed04
lea esp, [esp]
cmp edx, dword [eax + 4]
jne 0x1003ecfe
cmp esi, dword [eax + 0x14]
je 0x10041e33
mov eax, dword [eax]
test eax, eax
jne 0x1003ecf0
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0xd0], ecx
lea ecx, [ebp - 0xd0]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xc4], ecx
cmp ecx, 0x1e
jg 0x1003ed53
lea eax, [ebp - 0x84]
mov dword [ebp - 0xc8], eax
jmp 0x1003ed78
lea edx, [ecx*4]
push edx
call dword [0x100695e4]
add esp, 4
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x10041e49
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call sub.MSVCR100.dll_memcpy
mov ecx, dword [ebp - 0xb4]
mov eax, 0x82
add esp, 0xc
cmp word [ecx], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x1003edb4
mov dword [ebx + 0x9c], 2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push ebx
push ecx
movzx ecx, word [eax]
push edx
movzx edx, byte [ecx + 0x10055f08]
lea eax, [eax + edx*2]
push eax
push esi
call fcn.1003e1f0
mov ecx, dword [ebp - 0xc4]
add esp, 0x1c
lea edx, [ecx*4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc8]
push edx
push eax
push ecx
call sub.MSVCR100.dll_memcpy
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd0]
add esp, 0xc
cmp dword [ebp - 0xb8], 1
mov dword [ebx + 0x94], edx
mov dword [ebx + 0xa8], ecx
je 0x1003eebc
mov eax, dword [ebp - 0xb8]
cmp eax, 0xfffffc19
je 0x1003eebc
cmp eax, 0xfffffc1c
jl 0x1003ee57
cmp eax, 0xfffffc20
jle case.0x1003e306.151
test eax, eax
jne 0x10041e5f
lea eax, [ebp - 0xd0]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xb4]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
mov dword [ebp - 0xb4], eax
je 0x1003eda1
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0xa8], ecx
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x1003eea9
push eax
call dword [0x100695e8]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x1003eed6
push eax
call dword [0x100695e8]
add esp, 4
mov esi, dword [ebx + 0x84]
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xa4], edx
jmp 0x1003e2db
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je case.0x1003e306.113
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
add edi, 2
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
lea esp, [esp]
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003ef40
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
add edi, 2
mov eax, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x1003ef61
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
inc edx
push edx
mov edx, dword [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0xa4]
push ebx
push edx
push ecx
add eax, 4
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
add edi, 2
lea ecx, [ecx]
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003efb0
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx eax, word [edi + 2]
add edi, 2
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa8], 1
cmp eax, 0x80
je 0x1003eff5
cmp eax, 0x85
jne 0x1003f1bd
movzx ecx, word [edi + 4]
mov dword [ebp - 0xa0], ecx
add ecx, ecx
cmp ecx, dword [ebx + 0x14]
jge case.0x1003e306.126
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x94], 0
sar eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [ebp - 0x90], edx
mov edx, dword [ebx + 0x10]
sub edx, dword [ebp - 0xa0]
mov dword [ebp - 0x8c], ecx
mov eax, dword [eax + edx*4]
mov ecx, dword [ebx + 0x94]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x9c], ecx
jmp 0x1003f060
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xa0]
mov ecx, dword [ebx + 0xc]
mov edx, esi
sub edx, dword [ebx + 0x78]
sar edx, 1
cmp dword [ebp - 0xb4], 0x82
mov dword [ecx + eax*4], edx
jb 0x1003f08c
mov dword [ebx + 0x9c], 2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
movzx eax, word [edi]
push ebx
push ecx
movzx ecx, byte [eax + 0x10055f08]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x1003f104
mov eax, dword [ebx + 0x90]
mov esi, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x74]
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x88], esi
lea edi, [ecx + edx*2]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x94], 1
jmp 0x1003f060
cmp eax, 0xfffffc20
jne 0x1003f12a
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x1003f132
cmp word [ecx], 0x71
jmp 0x1003f12c
test eax, eax
jne 0x10042b1f
mov edx, dword [ebp - 0x9c]
mov dword [ebx + 0x94], edx
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x1003f060
cmp dword [ebp - 0x94], 0
jne 0x1003f18f
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x90]
add eax, eax
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x8c]
mov dword [ecx + eax*4 + 4], edx
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xa0]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0xb8]
mov dword [ecx + eax*4], edx
cmp dword [ebp - 0xa8], 0
jne 0x1003f1a5
cmp dword [ebp - 0x94], 0
je case.0x1003e306.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov dword [ebp - 0xa8], 0
mov ecx, edi
sub ecx, dword [ebx + 0x74]
mov dword [ebp - 0x94], 0
sar ecx, 1
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebx + 0x94]
mov dword [ebp - 0x9c], ecx
cmp eax, 0x82
jb 0x1003f1f1
mov dword [ebx + 0x9c], 2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
movzx eax, word [edi]
push ebx
push ecx
movzx ecx, byte [eax + 0x10055f08]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x1003f260
mov eax, dword [ebx + 0x90]
mov esi, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x74]
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x88], esi
lea edi, [ecx + edx*2]
mov dword [ebp - 0x94], 1
jmp 0x1003f1e0
cmp eax, 0xfffffc20
jne 0x1003f286
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x1003f28e
cmp word [ecx], 0x71
jmp 0x1003f288
test eax, eax
jne 0x10042b1f
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
jne 0x1003f2b3
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0xb4]
jmp 0x1003f1e0
cmp dword [ebp - 0x94], 0
jne 0x1003f2c9
cmp dword [ebp - 0xa8], 0
je case.0x1003e306.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx ecx, word [edi + 2]
lea edx, [ecx + ecx]
mov ecx, edi
sub ecx, edx
movzx eax, word [ecx]
mov edx, 0x82
mov dword [ebp - 0x9c], ecx
cmp ax, dx
jae 0x1003f306
cmp eax, 0x7b
je 0x1003f306
mov dword [ebp - 0xb4], 0
jmp 0x1003f323
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 4]
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx]
mov dword [ebp - 0xb0], edx
cmp eax, 0x77
jb 0x1003f331
cmp eax, 0x7a
jbe 0x10041e94
cmp eax, 0x7c
je 0x10041e94
cmp eax, 0x7f
je 0x1003f361
mov edx, 0x84
cmp ax, dx
je 0x1003f361
mov edx, 0x80
cmp ax, dx
je 0x1003f361
mov edx, 0x85
cmp ax, dx
jne 0x1003f412
movzx ecx, word [ecx + 4]
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + ecx]
test eax, eax
je 0x1003f381
cmp dword [eax + 4], ecx
je 0x10041ec8
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x1003f3a6
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x1003f40c
mov eax, dword [ebp - 0x98]
cmp edx, eax
jle 0x1003f3dd
mov ecx, dword [ebx + 0xc]
lea eax, [ecx + eax*4]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xb8], eax
cmp eax, ecx
jae 0x1003f3d7
mov edi, eax
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebx + 0x10]
sub eax, ecx
mov ecx, eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebx + 0xc]
mov eax, esi
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx + edx*4 + 4], eax
cmp dword [ebp - 0x98], edx
jg 0x1003f40c
add edx, 2
mov dword [ebp - 0x98], edx
mov ecx, dword [ebp - 0x9c]
cmp word [edi], 0x72
je 0x1003f424
cmp esi, dword [ebp - 0xb4]
jne 0x100416f4
add edi, 4
cmp word [ecx], 0x7b
je 0x10041fe6
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp dword [ebx + 0x48], 0
je case.0x1003e306.1
cmp esi, dword [ebx + 0x78]
je case.0x1003e306.151
cmp esi, dword [ebx + 0x78]
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp dword [ebx + 0x48], 0
je 0x1003f471
cmp esi, dword [ebx + 0x78]
je case.0x1003e306.151
mov edx, dword [ebx + 0x78]
cmp esi, edx
je 0x1003f4fc
cmp esi, dword [ebx + 0x7c]
je case.0x1003e306.151
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003f4c8
cmp esi, edx
jbe case.0x1003e306.151
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10043a00
add esp, 4
test eax, eax
je case.0x1003e306.151
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov ecx, dword [ebx + 0x1c]
lea eax, [ecx + ecx]
add edx, eax
cmp esi, edx
jb case.0x1003e306.151
mov edx, esi
sub edx, eax
mov ax, word [edx]
cmp ax, word [ebx + 0x34]
jne case.0x1003e306.151
cmp ecx, 1
je 0x1003f4fc
mov cx, word [edx + 2]
cmp cx, word [ebx + 0x36]
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov edx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea ecx, [eax + edx*2]
cmp esi, ecx
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
add edi, 2
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003f60b
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003f57a
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10043970
add esp, 4
test eax, eax
je 0x1003f5a4
mov esi, dword [ebp - 0x88]
add dword [ebp - 0x90], 2
jmp 0x1003e2d5
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003f5a4
mov edx, dword [ebp - 0x88]
mov cx, word [edx]
cmp cx, word [ebx + 0x34]
jne 0x1003f5a4
cmp eax, 1
je 0x1003f568
mov ax, word [edx + 2]
cmp ax, word [ebx + 0x36]
je 0x1003f568
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.151
mov ecx, dword [ebp - 0x88]
lea edx, [ecx + 2]
cmp edx, dword [ebx + 0x7c]
jb case.0x1003e306.151
cmp dword [ebx + 0x18], 0
jne case.0x1003e306.151
cmp dword [ebx + 0x1c], 2
jne case.0x1003e306.151
mov cx, word [ecx]
cmp cx, word [ebx + 0x34]
jne case.0x1003e306.151
mov dword [ebx + 0x68], 1
cmp eax, 1
jle case.0x1003e306.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x4c], 0
jne case.0x1003e306.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003f56e
cmp esi, dword [ebx + 0x88]
jbe 0x1003f56e
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
add dword [ebp - 0x90], 2
jmp 0x1003e2d5
cmp dword [ebx + 0x4c], 0
jne case.0x1003e306.151
cmp dword [ebx + 0x5c], 0
je case.0x1003e306.23
cmp esi, dword [ebx + 0x7c]
jb case.0x1003e306.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003f682
cmp esi, dword [ebx + 0x88]
jbe 0x1003f682
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003f704
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003f6c2
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10043970
add esp, 4
test eax, eax
je 0x1003f5a4
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x1003f6f2
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003f5a4
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x1003f5a4
cmp eax, 1
je 0x1003f6f2
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
jne 0x1003f5a4
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp esi, edx
jne 0x1003f5a4
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003f682
cmp esi, dword [ebx + 0x88]
jbe 0x1003f682
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x78]
je 0x1003f772
cmp esi, dword [ebx + 0x88]
ja 0x1003f752
lea eax, [esi - 2]
mov dword [ebx + 0x88], eax
movzx eax, word [esi - 2]
mov ecx, 0xff
cmp ax, cx
ja 0x1003f772
mov edx, eax
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je 0x1003f772
mov ecx, 1
jmp 0x1003f774
xor ecx, ecx
cmp esi, dword [ebx + 0x7c]
jb 0x1003f7b8
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003f79b
cmp esi, dword [ebx + 0x88]
jbe 0x1003f79b
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
xor eax, eax
mov dx, word [edi]
add edi, 2
mov dword [ebp - 0x90], edi
cmp dx, 5
jne 0x1003f7d5
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x1003f7dc
movzx eax, word [esi]
mov edx, 0xff
cmp ax, dx
ja 0x1003f79b
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je 0x1003f79b
mov eax, 1
jmp 0x1003f79d
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x1003e2db
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x18]
mov edx, dword [ebx + 0x7c]
test eax, eax
je 0x1003f82b
cmp esi, edx
jae 0x1003f857
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10043970
add esp, 4
test eax, eax
jne case.0x1003e306.151
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x1003f857
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003f857
mov cx, word [esi]
cmp cx, word [ebx + 0x34]
jne 0x1003f857
cmp eax, 1
je case.0x1003e306.151
mov dx, word [esi + 2]
cmp dx, word [ebx + 0x36]
je case.0x1003e306.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.13
lea ecx, [esi + 2]
cmp ecx, dword [ebx + 0x7c]
jb case.0x1003e306.13
cmp dword [ebx + 0x18], 0
jne case.0x1003e306.13
cmp dword [ebx + 0x1c], 2
jne case.0x1003e306.13
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne case.0x1003e306.13
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
add esi, 2
add edi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003f8d7
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 4
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 4
je case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003f949
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 1
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 1
je case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003f9bb
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 0x10
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xd
ja 0x1003fa87
je 0x1003fa36
cmp eax, 0xa
je 0x1003faae
jbe case.0x1003e306.151
cmp eax, 0xc
jmp 0x1003fa9e
cmp esi, ecx
jb 0x1003fa6a
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003faae
cmp esi, dword [ebx + 0x88]
jbe 0x1003faae
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp word [esi], 0xa
jne 0x1003faae
add esi, 2
add edi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp eax, 0x85
je 0x1003faa4
cmp eax, 0x2027
jbe case.0x1003e306.151
cmp eax, 0x2029
ja case.0x1003e306.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x180e
ja 0x1003fb00
je case.0x1003e306.151
cmp eax, 0xa0
ja 0x1003faf9
je case.0x1003e306.151
cmp eax, 9
je case.0x1003e306.151
cmp eax, 0x20
jmp 0x1003fb2b
cmp eax, 0x1680
jmp 0x1003fb2b
cmp eax, 0x205f
ja 0x1003fb26
je case.0x1003e306.151
cmp eax, 0x2000
jb 0x1003fb31
cmp eax, 0x200a
jbe case.0x1003e306.151
cmp eax, 0x202f
jmp 0x1003fb2b
cmp eax, 0x3000
je case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x180e
ja 0x1003fb77
je 0x1003fba4
cmp eax, 0xa0
ja 0x1003fb70
je 0x1003fba4
cmp eax, 9
je 0x1003fba4
cmp eax, 0x20
jmp 0x1003fb9e
cmp eax, 0x1680
jmp 0x1003fb9e
cmp eax, 0x205f
ja 0x1003fb99
je 0x1003fba4
cmp eax, 0x2000
jb case.0x1003e306.151
cmp eax, 0x200a
jbe 0x1003fba4
cmp eax, 0x202f
jmp 0x1003fb9e
cmp eax, 0x3000
jne case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x85
ja 0x1003fbde
je case.0x1003e306.151
cmp eax, 0xa
jb 0x1003fbf0
cmp eax, 0xd
jmp 0x1003fbea
cmp eax, 0x2028
jb 0x1003fbf0
cmp eax, 0x2029
jbe case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x85
ja 0x1003fc2a
je 0x1003fc40
cmp eax, 0xa
jb case.0x1003e306.151
cmp eax, 0xd
jmp 0x1003fc3a
cmp eax, 0x2028
jb case.0x1003e306.151
cmp eax, 0x2029
ja case.0x1003e306.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
xor ecx, ecx
cmp eax, 0x6e
movzx eax, word [edi + 2]
sete cl
add eax, eax
add edi, 4
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x9c], ecx
cmp eax, dword [ebp - 0x98]
jge 0x1003fc8d
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x1003fc8d
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x1003fc97
mov edx, dword [ebx + 0x54]
neg edx
sbb edx, edx
neg edx
dec edx
movzx eax, word [edi]
lea ecx, [eax - 0x62]
mov dword [ebp - 0xb4], edx
cmp ecx, 7
ja case.default.0x1003fcb3
movzx ecx, byte [ecx + 0x10042d10]
jmp dword [ecx*4 + 0x10042d08]
movsx edx, byte [eax + 0x10055fde]
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x10055fe6]
add edi, 2
and ecx, 1
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x1003fd3b
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
jmp 0x1003fd3b
movzx eax, word [edi + 2]
xor ecx, ecx
cmp word [edi], 0x69
mov dword [ebp - 0xa0], eax
movzx eax, word [edi + 4]
sete cl
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x94], ecx
test eax, eax
jne 0x1003fd32
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
add edi, 6
mov dword [ebp - 0x90], edi
test edx, edx
je 0x1003e2db
mov edx, dword [ebp - 0xa0]
jns 0x1003fd53
test edx, edx
je 0x1003e2db
mov dword [ebp - 0x8c], 1
cmp edx, 1
jl 0x1003fdba
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xb4]
push ecx
push edx
mov edx, dword [ebp - 0xac]
mov ecx, ebx
mov eax, esi
call fcn.1003e120
add esp, 8
test eax, eax
js 0x10042054
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebp - 0xa0]
jle 0x1003fd62
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa8]
cmp edx, eax
je 0x1003e2db
test ecx, ecx
je 0x100420b4
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xa0]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x98]
push edx
push eax
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov ecx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], ecx
jge case.0x1003e306.151
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
push edx
mov edx, dword [ebp - 0xac]
push eax
mov ecx, ebx
mov eax, esi
call fcn.1003e120
add esp, 8
test eax, eax
js 0x10042084
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
inc dword [ebp - 0x8c]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x98]
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x1003fe03
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xac]
push eax
push ecx
mov ecx, ebx
mov eax, esi
call fcn.1003e120
add esp, 8
test eax, eax
js 0x1004218f
lea esi, [esi + eax*2]
mov dword [ebp - 0x88], esi
jmp 0x1003e2db
lea edx, [edi + 2]
add edi, 0x22
mov dword [ebp - 0xac], edx
movzx edx, word [edi]
lea ecx, [edx - 0x62]
mov dword [ebp - 0x90], edi
cmp ecx, 7
ja case.default.0x1003fede
movzx ecx, byte [ecx + 0x10042d20]
jmp dword [ecx*4 + 0x10042d18]
lea ecx, [edx - 0x62]
and ecx, 1
mov dword [ebp - 0x94], ecx
movsx ecx, byte [edx + 0x10055fde]
movsx edx, byte [edx + 0x10055fe6]
add edi, 2
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa8], edx
test edx, edx
jne 0x1003ff71
mov dword [ebp - 0xa8], SysReAllocString
jmp 0x1003ff71
movzx ecx, word [edi + 2]
xor edx, edx
cmp word [edi], 0x69
mov dword [ebp - 0xa0], ecx
sete dl
mov dword [ebp - 0x94], edx
movzx edx, word [edi + 4]
mov dword [ebp - 0xa8], edx
test edx, edx
jne 0x1003ff55
mov dword [ebp - 0xa8], SysReAllocString
add edi, 6
mov dword [ebp - 0x90], edi
jmp 0x1003ff71
mov ecx, 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003ffe2
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, 0xff
jbe 0x1003ffa8
cmp eax, 0x6a
je case.0x1003e306.151
jmp 0x1003ffd4
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0xac]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je case.0x1003e306.151
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], ecx
jle 0x1003ff80
cmp ecx, dword [ebp - 0xa8]
je 0x1003e2db
cmp dword [ebp - 0x94], 0
je 0x10042223
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp + 0x20]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov edi, edi
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
cmp eax, 0xff
jbe 0x100421bf
cmp dword [ebp - 0xb4], 0x6a
jmp 0x100421d9
movzx ecx, word [edi + 2]
lea eax, [edi + 4]
mov dword [ebp - 0xac], eax
lea eax, [edi + ecx*2]
movzx edi, word [eax]
mov edx, edi
lea ecx, [edx - 0x62]
mov dword [ebp - 0x90], eax
cmp ecx, 7
ja case.default.0x10040096
movzx ecx, byte [ecx + 0x10042d30]
jmp dword [ecx*4 + 0x10042d28]
movsx edi, byte [edx + 0x10055fe6]
add eax, 2
mov dword [ebp - 0x90], eax
lea eax, [edx - 0x62]
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [edx + 0x10055fde]
mov dword [ebp - 0xa0], eax
test edi, edi
jne 0x1004010c
mov edi, SysReAllocString
jmp 0x1004010c
movzx edx, word [eax + 2]
xor ecx, ecx
cmp edi, 0x69
movzx edi, word [eax + 4]
sete cl
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x94], ecx
test edi, edi
jne 0x100400f6
mov edi, SysReAllocString
add eax, 6
mov dword [ebp - 0x90], eax
jmp 0x1004010c
mov edi, 1
mov dword [ebp - 0xa0], edi
mov eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0xa0], eax
jl 0x10040169
nop
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
mov eax, dword [ebp - 0x88]
movzx esi, word [eax]
mov edx, dword [ebp - 0xac]
add eax, 2
mov dword [ebp - 0x88], eax
call fcn.10043aa0
test eax, eax
je case.0x1003e306.151
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebp - 0xa0]
jle 0x10040120
mov eax, dword [ebp - 0xa0]
cmp eax, edi
je 0x1003e2d5
cmp dword [ebp - 0x94], 0
je 0x100423bc
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
mov edx, dword [ebp - 0x90]
push ebx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x98]
push eax
push ecx
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
jmp 0x10042336
mov eax, dword [ebx + 0x7c]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jl 0x10042035
mov cx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp word [edi + 2], cx
jne case.0x1003e306.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [edi + 2]
mov edx, 0xff
cmp ax, dx
ja 0x10040217
mov ecx, dword [ebx + 0x3c]
movzx ecx, byte [ecx + eax]
jmp 0x10040219
mov ecx, eax
movzx eax, word [esi]
cmp ax, dx
ja 0x10040228
mov edx, dword [ebx + 0x3c]
movzx eax, byte [edx + eax]
cmp ecx, eax
jne case.0x1003e306.151
add esi, 2
add edi, 4
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx eax, word [edi + 2]
mov ecx, eax
add edi, 4
jmp 0x100402f8
mov dword [ebp - 0xac], 1
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp edx, 0x28
je 0x1004027b
mov dword [ebp - 0x94], ecx
cmp edx, 0x35
jne 0x10040285
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x100402fe
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 2
jmp 0x100402f3
mov ecx, 1
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x100402f3
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xac], eax
add edi, 2
jmp 0x100402f8
cmp eax, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x94], ecx
movsx ecx, byte [eax + 0x10056040]
movsx eax, byte [eax + 0x10056048]
add edi, 2
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x100402fe
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0xb4], 0x2e
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x90], edi
jb 0x10040489
cmp edx, 0xff
ja 0x1004033a
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa8]
jmp 0x10040346
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x10040397
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
cmp edx, eax
je 0x10040377
cmp dword [ebp - 0xa0], eax
jne case.0x1003e306.151
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
inc eax
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x10040355
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003e2db
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x100424af
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x100403f4
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x1004045c
movzx ecx, word [esi]
cmp edx, ecx
je 0x100403da
cmp dword [ebp - 0xa0], ecx
jne 0x100403ee
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x100403c2
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003e2db
cmp esi, dword [ebp - 0x94]
je 0x1004182a
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.1003e1f0
sub esi, 2
add esp, 0x1c
mov dword [ebp - 0x88], esi
test eax, eax
jne 0x10042b1f
cmp esi, dword [ebp - 0x94]
jne 0x10040419
jmp 0x1004182a
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x100403f4
cmp esi, dword [ebx + 0x88]
jbe 0x100403f4
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
jmp 0x100403f4
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x100404d2
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, eax
jne case.0x1003e306.151
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x1004049e
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003e2db
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x10042555
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1004052a
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx]
cmp esi, dword [ebx + 0x7c]
jae 0x10040592
movzx ecx, word [esi]
cmp edx, ecx
jne 0x10040524
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x10040500
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003e2db
cmp esi, dword [ebp - 0x94]
je 0x1004182a
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
sub esi, 2
add esp, 0x1c
mov dword [ebp - 0x88], esi
test eax, eax
jne 0x10042b1f
cmp esi, dword [ebp - 0x94]
jne 0x1004054f
jmp 0x1004182a
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1004052a
cmp esi, dword [ebx + 0x88]
jbe 0x1004052a
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
jmp 0x1004052a
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx edx, word [esi]
movzx ecx, word [edi + 2]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, edx
je case.0x1003e306.151
cmp eax, 0x20
jne 0x100405fc
cmp ecx, 0xff
ja 0x100405f4
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x1003e306.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003e2db
movzx eax, word [edi + 2]
mov ecx, eax
add edi, 4
jmp 0x100406c9
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp edx, 0x42
je 0x10040634
mov dword [ebp - 0x94], ecx
cmp edx, 0x4f
jne 0x1004063e
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x100406cf
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 2
jmp 0x100406c4
mov ecx, 1
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x100406c4
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xac], eax
add edi, 2
jmp 0x100406c9
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 4
jmp 0x100406c9
cmp eax, 0x48
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x48
sub eax, ecx
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x94], ecx
movsx ecx, byte [eax + 0x10056040]
movsx eax, byte [eax + 0x10056048]
add edi, 2
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x100406cf
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0xb4], 0x48
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x90], edi
jb 0x1004086b
cmp edx, 0xff
ja 0x1004070b
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa8]
jmp 0x10040717
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x10040776
jmp 0x10040736
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
cmp edx, eax
je case.0x1003e306.151
cmp dword [ebp - 0xa0], eax
je case.0x1003e306.151
mov eax, dword [ebp - 0x8c]
inc eax
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x10040730
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003e2db
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x100425ef
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x100407d6
jmp 0x100407a0
cmp esi, dword [ebx + 0x7c]
jae 0x1004083e
movzx ecx, word [esi]
cmp dword [ebp - 0x9c], ecx
je 0x100407d0
cmp dword [ebp - 0xa0], ecx
je 0x100407d0
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x100407a0
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003e2db
cmp esi, dword [ebp - 0x94]
je 0x1004182a
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
sub esi, 2
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x100407fb
jmp 0x1004182a
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x100407d6
cmp esi, dword [ebx + 0x88]
jbe 0x100407d6
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
jmp 0x100407d6
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x100408b4
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, eax
je case.0x1003e306.151
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x10040880
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003e2db
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x10042699
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1004090a
mov edx, dword [ebp - 0x9c]
nop
cmp esi, dword [ebx + 0x7c]
jae 0x10040972
movzx ecx, word [esi]
cmp edx, ecx
je 0x10040904
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x100408e0
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003e2db
cmp esi, dword [ebp - 0x94]
je 0x1004182a
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
sub esi, 2
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x1004092f
jmp 0x1004182a
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1004090a
cmp esi, dword [ebx + 0x88]
jbe 0x1004090a
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
jmp 0x1004090a
movzx eax, word [edi + 2]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x10040a91
movzx ecx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0xa8], ecx
xor ecx, ecx
cmp edx, 0x5c
sete cl
mov dword [ebp - 0xa0], eax
add edi, 4
mov dword [ebp - 0x94], ecx
jmp 0x10040a91
xor eax, eax
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xa0], eax
add edi, 2
jmp 0x10040a87
mov eax, 1
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa0], eax
add edi, 2
jmp 0x10040a87
mov ecx, 1
xor eax, eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], ecx
add edi, 2
jmp 0x10040a91
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], edx
add edi, 4
jmp 0x10040a91
lea edx, [eax - 0x55]
movsx ecx, byte [edx + 0x10056048]
mov eax, edx
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [edx + 0x10056040]
add edi, 2
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], ecx
test ecx, ecx
jne 0x10040a91
mov dword [ebp - 0xa8], SysReAllocString
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x90], edi
test eax, eax
jle 0x10040ffe
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x1004282b.15
jmp dword [ecx*4 + 0x10042d38]
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x10042035
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x10040b0d
push ecx
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
call fcn.10043970
add esp, 4
test eax, eax
jne case.0x1003e306.151
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa0]
mov esi, ecx
jmp 0x10040b42
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xb8], ecx
add ecx, ecx
sub edx, ecx
cmp esi, edx
ja 0x10040b42
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x10040b42
cmp dword [ebp - 0xb8], 1
je case.0x1003e306.151
mov cx, word [esi + 2]
cmp cx, word [ebx + 0x36]
je case.0x1003e306.151
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
je 0x10040b79
lea edx, [esi + 2]
cmp edx, dword [ebx + 0x7c]
jb 0x10040b79
cmp dword [ebx + 0x18], 0
jne 0x10040b79
cmp dword [ebx + 0x1c], 2
jne 0x10040b79
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x10040b79
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003f5f5
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040ad1
jmp 0x10040ffe
mov edx, dword [ebx + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x10042035
add esi, ecx
mov dword [ebp - 0x88], esi
jmp 0x10040ffe
mov edx, 1
cmp eax, edx
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0xd
jg 0x10040c02
je 0x10040bec
cmp ecx, 0xa
je 0x10040c23
add ecx, 0xfffffff5
jmp 0x10040c10
cmp esi, dword [ebx + 0x7c]
jae 0x10040c23
cmp word [esi], 0xa
jne 0x10040c23
add esi, 2
mov dword [ebp - 0x88], esi
jmp 0x10040c23
cmp ecx, 0x85
je 0x10040c19
add ecx, 0xffffdfd8
cmp ecx, 1
ja case.0x1003e306.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003e306.151
inc edx
cmp edx, eax
jle 0x10040bc6
jmp 0x10040ffe
mov edx, 1
cmp eax, edx
jl 0x10040ffe
lea ebx, [ebx]
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x180e
jg 0x10040c87
je case.0x1003e306.151
cmp ecx, 0xa0
jg 0x10040c7f
je case.0x1003e306.151
cmp ecx, 9
je case.0x1003e306.151
cmp ecx, 0x20
jmp 0x10040cb7
cmp ecx, 0x1680
jmp 0x10040cb7
cmp ecx, 0x205f
jg 0x10040cb1
je case.0x1003e306.151
cmp ecx, 0x2000
jl 0x10040cbd
cmp ecx, 0x200a
jle case.0x1003e306.151
cmp ecx, 0x202f
jmp 0x10040cb7
cmp ecx, 0x3000
je case.0x1003e306.151
inc edx
cmp edx, eax
jle 0x10040c40
jmp 0x10040ffe
mov edx, 1
cmp eax, edx
jl 0x10040ffe
jmp 0x10040ce0
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x180e
jg 0x10040d1b
je 0x10040d4d
cmp ecx, 0xa0
jg 0x10040d13
je 0x10040d4d
cmp ecx, 9
je 0x10040d4d
cmp ecx, 0x20
jmp 0x10040d47
cmp ecx, 0x1680
jmp 0x10040d47
cmp ecx, 0x205f
jg 0x10040d41
je 0x10040d4d
cmp ecx, 0x2000
jl case.0x1003e306.151
cmp ecx, 0x200a
jle 0x10040d4d
cmp ecx, 0x202f
jmp 0x10040d47
cmp ecx, 0x3000
jne case.0x1003e306.151
inc edx
cmp edx, eax
jle 0x10040ce0
jmp 0x10040ffe
mov edx, 1
cmp eax, edx
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x85
jg 0x10040d91
je case.0x1003e306.151
cmp ecx, 0xa
jl 0x10040da5
cmp ecx, 0xd
jmp 0x10040d9f
cmp ecx, 0x2028
jl 0x10040da5
cmp ecx, 0x2029
jle case.0x1003e306.151
inc edx
cmp edx, eax
jle 0x10040d64
jmp 0x10040ffe
mov edx, 1
cmp eax, edx
jl 0x10040ffe
lea esp, [esp]
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x85
jg 0x10040de7
je 0x10040df6
add ecx, 0xfffffff6
cmp ecx, 3
jmp 0x10040df0
add ecx, 0xffffdfd8
cmp ecx, 1
ja case.0x1003e306.151
inc edx
cmp edx, eax
jle 0x10040dc0
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x10040e36
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
jne case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040e13
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
je case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040e68
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x10040ee4
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
jne case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040ec1
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
je case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040f16
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x10040f92
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
jne case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040f6f
jmp 0x10040ffe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x10040ffe
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
je case.0x1003e306.151
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x10040fbd
mov edx, dword [ebp - 0xa8]
cmp eax, edx
je 0x1003e2db
cmp dword [ebp - 0x94], 0
jne 0x10042753
mov ecx, dword [ebp - 0xb4]
add ecx, 0xfffffffa
mov dword [ebp - 0x94], esi
cmp ecx, 0xf
ja case.0x1004282b.15
jmp dword [ecx*4 + 0x10042d78]
mov dword [ebp - 0x8c], eax
cmp eax, edx
jge 0x100414fb
jmp 0x10041050
mov eax, dword [ebx + 0x7c]
cmp esi, eax
jae 0x100411d2
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x10041084
push ecx
mov ecx, dword [ebp - 0x88]
mov esi, edi
mov edx, eax
call fcn.10043970
add esp, 4
test eax, eax
jne 0x100414fb
mov esi, ecx
jmp 0x100410af
mov ecx, dword [edi]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x100410af
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x100410af
cmp ecx, 1
je 0x100414fb
mov cx, word [esi + 2]
cmp cx, word [ebx + 0x36]
je 0x100414fb
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x100410e5
lea edx, [esi + 2]
cmp edx, dword [ebx + 0x7c]
jb 0x100410e5
cmp dword [ebx + 0x18], 0
jne 0x100410e5
cmp dword [edi], 2
jne 0x100410e5
mov cx, word [esi]
cmp cx, word [ebx + 0x34]
jne 0x100410e5
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
mov eax, dword [ebp - 0x8c]
inc eax
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x10041050
jmp 0x100414fb
sub edx, eax
mov eax, dword [ebx + 0x7c]
mov ecx, edx
mov edx, eax
sub edx, esi
sar edx, 1
cmp ecx, edx
jbe 0x10041152
mov ecx, dword [ebx + 0x8c]
mov dword [ebp - 0x88], eax
test ecx, ecx
je 0x100414fb
cmp eax, dword [ebx + 0x88]
jbe 0x100414fb
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003f5f5
jmp 0x100414fb
lea eax, [esi + ecx*2]
mov dword [ebp - 0x88], eax
jmp 0x100414fb
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
cmp ecx, 0xd
jne 0x1004118a
add esi, 2
cmp esi, edi
jae 0x100414f5
cmp word [esi], 0xa
jne 0x100411c2
jmp 0x100411bf
cmp ecx, 0xa
je 0x100411bf
cmp dword [ebx + 0x6c], 0
jne 0x100414f5
cmp ecx, 0xb
je 0x100411bf
cmp ecx, 0xc
je 0x100411bf
cmp ecx, 0x85
je 0x100411bf
cmp ecx, 0x2028
je 0x100411bf
cmp ecx, 0x2029
jne 0x100414f5
add esi, 2
inc eax
cmp eax, edx
jl 0x1004116b
jmp 0x100414f5
mov dword [ebp - 0x88], esi
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x100414fb
cmp esi, dword [ebx + 0x88]
jbe 0x100414fb
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
jmp 0x100414fb
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x10041245
je 0x100414f5
cmp ecx, 0xa0
jg 0x1004123d
je 0x100414f5
cmp ecx, 9
je 0x100414f5
cmp ecx, 0x20
jmp 0x10041275
cmp ecx, 0x1680
jmp 0x10041275
cmp ecx, 0x205f
jg 0x1004126f
je 0x100414f5
cmp ecx, 0x2000
jl 0x1004127b
cmp ecx, 0x200a
jle 0x100414f5
cmp ecx, 0x202f
jmp 0x10041275
cmp ecx, 0x3000
je 0x100414f5
inc eax
add esi, 2
cmp eax, edx
jl 0x1004120c
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x100412c4
je 0x100412f6
cmp ecx, 0xa0
jg 0x100412bc
je 0x100412f6
cmp ecx, 9
je 0x100412f6
cmp ecx, 0x20
jmp 0x100412f0
cmp ecx, 0x1680
jmp 0x100412f0
cmp ecx, 0x205f
jg 0x100412ea
je 0x100412f6
cmp ecx, 0x2000
jl 0x100414f5
cmp ecx, 0x200a
jle 0x100412f6
cmp ecx, 0x202f
jmp 0x100412f0
cmp ecx, 0x3000
jne 0x100414f5
inc eax
add esi, 2
cmp eax, edx
jl 0x10041293
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
mov edi, edi
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x10041333
je 0x100414f5
cmp ecx, 0xa
jl 0x10041347
cmp ecx, 0xd
jmp 0x10041341
cmp ecx, 0x2028
jl 0x10041347
cmp ecx, 0x2029
jle 0x100414f5
inc eax
add esi, 2
cmp eax, edx
jl 0x10041310
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x1004137c
je 0x1004138b
add ecx, 0xfffffff6
cmp ecx, 3
jmp 0x10041385
add ecx, 0xffffdfd8
cmp ecx, 1
ja 0x100414f5
inc eax
add esi, 2
cmp eax, edx
jl 0x1004135f
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x100413c5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
jne 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x100413a3
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x100414f5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
je 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x100413e1
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x10041445
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
jne 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x10041423
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x100414f5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
je 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x10041461
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x100414b6
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
jne 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x10041498
jmp 0x100414f5
cmp eax, edx
jge 0x100414fb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x100411cc
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x100414f5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
je 0x100414f5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x100414cb
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
je 0x100417ab
mov esi, dword [ebp - 0x88]
jmp 0x1003e2d5
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp - 0x98]
jle 0x10041527
mov dword [ebp - 0x98], eax
movzx eax, word [edi + 6]
cmp word [edi + eax*2 + 4], 0x71
lea edi, [edi + eax*2 + 4]
jne 0x1004154e
jmp 0x10041540
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x10041540
add edi, 4
cmp dword [ebp - 0xb4], 0x86
je 0x10041d86
mov dword [ebp - 0x90], edi
jmp 0x1004182a
cmp word [edi], 0x74
jne 0x100415ad
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
add edi, 4
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x90], eax
jmp 0x1004182a
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
mov edx, dword [ebp - 0x9c]
push ebx
push eax
push ecx
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1004182a
movzx ecx, word [edi + 4]
mov dword [ebp - 0xa0], ecx
add ecx, ecx
cmp ecx, dword [ebx + 0x14]
jl 0x10041be4
cmp eax, 0x82
jae 0x10041638
cmp eax, 0x7b
je 0x10041638
cmp dword [ebx + 0x70], 0
jne 0x10041642
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
je 0x10041642
movzx edx, word [edi]
movzx eax, byte [edx + 0x10055f08]
lea ecx, [edi + eax*2]
mov dword [ebp - 0x90], ecx
jmp 0x1004182a
mov dword [ebx + 0x9c], 2
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebx + 0x94]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0xb0]
push ecx
movzx ecx, word [edi]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x98]
push ebx
push edx
movzx edx, byte [ecx + 0x10055f08]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x100416b8
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x100416c0
cmp word [ecx], 0x71
jne 0x10042b1f
jmp 0x100416c0
test eax, eax
jne 0x10041d34
movzx edx, word [edi + 2]
mov eax, dword [ebp - 0xac]
lea edi, [edi + edx*2]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
jne case.0x1003e306.151
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0x94], ecx
jmp case.0x1003e306.123
movzx eax, word [edi]
cmp eax, 0x75
je 0x10041ef0
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
cmp eax, 0x74
mov eax, dword [ebp - 0xb0]
push eax
push ebx
push ecx
push edx
jne 0x10041760
add edi, 4
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov edi, dword [ebp - 0x9c]
movzx eax, word [edi]
cmp eax, 0x7b
je 0x10041f18
mov ecx, 0x82
cmp ax, cx
jae 0x10041f61
mov dword [ebp - 0x90], edi
jmp 0x1004182a
mov eax, dword [ebp - 0x9c]
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x10041785
mov ecx, dword [ebx + 0xb8]
cmp ecx, dword [ebp - 0x9c]
jmp 0x10041787
test eax, eax
jne 0x10042b1f
mov edx, dword [ebp - 0x9c]
add edi, 4
cmp word [edx], 0x7b
je 0x10041f97
mov dword [ebp - 0x90], edi
jmp 0x1004182a
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0x88], ecx
je 0x1004182a
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
sub esi, 2
cmp dword [ebp - 0xb4], 0x11
mov dword [ebp - 0x88], esi
jne 0x10041822
cmp esi, dword [ebp - 0x94]
jbe 0x10041828
cmp word [esi], 0xa
jne 0x10041822
cmp word [esi - 2], 0xd
jne 0x10041822
add esi, 0xfffffffe
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x100417c5
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x1003e290
inc dword [ebx]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
dec ecx
je case.0x1003e306.151
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0xb0], 0
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x10055f08]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003e1f0
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x100418db
cmp edi, 0xfffffc19
jne 0x10041903
cmp dword [ebx + 0xb0], 0
jne 0x10041903
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0xb0], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1f
jne 0x10041924
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xb4]
call fcn.100438a0
test eax, eax
je 0x10041aa1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x10055f08]
push ecx
lea ecx, [edi + eax*2]
push ecx
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
movzx eax, word [edi]
push ebx
push ecx
movzx ecx, byte [eax + 0x10055f08]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
mov dword [ebx + 0xb0], 0
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x10055f08]
push eax
movzx eax, word [edi + 2]
add edx, eax
lea ecx, [edi + edx*2]
push ecx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 1
je 0x10041a34
cmp eax, 0xfffffc19
jne 0x10041a49
cmp dword [ebx + 0xb0], 0
jne 0x10041a49
mov edx, dword [ebp - 0xb4]
mov dword [ebx + 0xb0], edx
test eax, eax
jne 0x10042b1f
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x10055f08]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x10055f08]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
add edi, 4
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x10055f08]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0xb0], 0
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x10055f08]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 1
je 0x10041bc9
cmp eax, 0xfffffc19
jne 0x10041b4e
cmp dword [ebx + 0xb0], 0
jne 0x10041b4e
lea ecx, [edi + 4]
mov dword [ebx + 0xb0], ecx
jmp 0x10041b4e
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0xa0]
add ecx, ecx
mov edx, dword [edx + ecx*4 + 4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebx + 0x10]
sub edx, dword [ebp - 0xa0]
lea ecx, [ecx + edx*4]
mov edx, dword [ecx]
mov dword [ebp - 0xb8], edx
mov edx, dword [ebx + 0x94]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebx + 0xb0]
mov dword [ebp - 0xac], edx
mov edx, esi
sub edx, dword [ebx + 0x78]
sar edx, 1
mov dword [ecx], edx
lea ebx, [ebx]
cmp eax, 0x82
jb 0x10041c51
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x10055f08]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003e1f0
add esp, 0x1c
cmp eax, 0xfffffc1b
je 0x10041cf0
cmp eax, 0xfffffc20
jne 0x10041cb8
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x10042b1f
cmp word [edi], 0x71
je 0x10041cb4
cmp word [ecx], 0x71
jne 0x10042b1f
xor eax, eax
jmp 0x10041cc0
test eax, eax
jne 0x10042b1f
mov edx, dword [ebp - 0x9c]
mov dword [ebx + 0x94], edx
movzx ecx, word [edi + 2]
mov edx, dword [ebp - 0xac]
lea edi, [edi + ecx*2]
mov dword [ebx + 0xb0], edx
cmp word [edi], 0x71
jne 0x10041cf0
mov eax, dword [ebp - 0xb4]
jmp 0x10041c40
mov edx, dword [ebp - 0xa0]
mov esi, dword [ebx + 0xc]
mov edi, dword [ebp - 0x90]
lea ecx, [edx + edx]
mov dword [esi + ecx*4], edi
mov esi, dword [ebx + 0xc]
mov edi, dword [ebp - 0x8c]
mov dword [esi + ecx*4 + 4], edi
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebp - 0xb8]
sub ecx, edx
mov edx, dword [ebx + 0xc]
mov dword [edx + ecx*4], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffc1b
jne 0x10042b1f
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x10041d67
cmp edx, 0x71
jne 0x10041d5e
mov edi, edi
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x10041d50
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x10042b1f
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
mov dword [ebx + 0x9c], 2
call fcn.1003e1f0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa4]
cmp esi, ecx
jne 0x10041e00
cmp eax, 0x99
je 0x10041e00
cmp dword [ebx + 0xa8], 0
jne 0x10041e00
cmp dword [ebx + 0x60], 0
jne case.0x1003e306.151
cmp dword [ebx + 0x64], 0
je 0x10041e00
mov edx, dword [ebx + 0x98]
mov edi, dword [ebx + 0x78]
lea edx, [edi + edx*2]
cmp ecx, edx
je case.0x1003e306.151
mov edx, dword [ebp - 0x98]
neg eax
sbb eax, eax
and eax, 0xfffffc18
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x80], ecx
inc eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0x84]
cmp ecx, edx
je 0x10042b1f
push ecx
call dword [0x100695e8]
mov eax, dword [ebp - 0xb8]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa4]
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x90], edx
mov dword [ebx + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa4]
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x98]
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov edx, dword [ebp - 0x9c]
mov dword [ebx + 0xb8], edx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003e306.151
jmp 0x1003f5e5
cmp eax, 0xfffffffe
jne 0x1004205c
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003e306.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003e306.151
jmp 0x1003f5e5
cmp eax, 0xfffffffe
jne 0x1004208c
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003e306.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003e306.151
jmp 0x1003f5e5
mov dword [ebp - 0x94], esi
mov edi, edx
cmp edx, eax
jge 0x10042130
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
push edx
mov edx, dword [ebp - 0xac]
push eax
mov ecx, ebx
mov eax, esi
call fcn.1003e120
add esp, 8
test eax, eax
js 0x100420f8
inc edi
lea esi, [esi + eax*2]
cmp edi, dword [ebp - 0xa8]
jl 0x100420c0
mov dword [ebp - 0x88], esi
jmp 0x10042128
mov dword [ebp - 0x88], esi
cmp eax, 0xfffffffe
jne 0x10042128
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x10042128
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x88]
jbe 0x10042128
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
cmp esi, dword [ebp - 0x94]
jb 0x1004217c
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov eax, dword [ebp - 0xb4]
neg eax
lea esi, [esi + eax*2]
cmp esi, dword [ebp - 0x94]
jae 0x1004213c
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x10042197
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003e306.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003e306.151
jmp 0x1003f5e5
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0xac]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x1003e306.151
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10040030
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x94], esi
mov edx, ecx
cmp ecx, dword [ebp - 0xa8]
jge 0x1004225e
cmp esi, dword [ebx + 0x7c]
jae 0x100422f0
movzx edi, word [esi]
cmp edi, 0xff
jbe 0x100422b5
cmp eax, 0x6a
jne 0x100422db
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jb 0x100422a2
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
sub esi, 2
cmp esi, dword [ebp - 0x94]
jae 0x1004226a
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, edi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0xac]
shr edi, 3
mov cl, byte [edi + ecx]
test cl, al
je 0x10042250
mov eax, dword [ebp - 0xb4]
inc edx
add esi, 2
cmp edx, dword [ebp - 0xa8]
jl 0x10042233
jmp 0x10042250
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x10042256
cmp esi, dword [ebx + 0x88]
jbe 0x10042256
mov dword [ebx + 0x68], 1
cmp eax, 1
jle 0x10042256
jmp 0x1003f5f5
mov esi, dword [ebp - 0x88]
cmp dword [ebp - 0x8c], edi
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
mov eax, dword [ebp - 0x88]
movzx esi, word [eax]
mov edx, dword [ebp - 0xac]
add eax, 2
mov dword [ebp - 0x88], eax
call fcn.10043aa0
test eax, eax
je case.0x1003e306.151
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0x90]
push ebx
push edx
mov edx, dword [ebp - 0x88]
push eax
push ecx
push edx
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10042330
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x8c], eax
cmp eax, edi
jge 0x1004242b
lea esp, [esp]
mov ecx, dword [ebp - 0x88]
cmp ecx, dword [ebx + 0x7c]
jae 0x10042409
mov edx, dword [ebp - 0xac]
mov eax, ecx
movzx esi, word [eax]
call fcn.10043aa0
test eax, eax
je 0x1004242b
mov eax, dword [ebp - 0x8c]
add dword [ebp - 0x88], 2
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, edi
jl 0x100423d0
jmp 0x1004242b
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1004242b
cmp ecx, dword [ebx + 0x88]
jbe 0x1004242b
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003f5f5
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov edx, esi
sub esi, 2
cmp edx, dword [ebp - 0x94]
je case.0x1003e306.151
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10042464
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
lea esp, [esp]
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
cmp dword [ebp - 0x9c], eax
je 0x10042512
cmp dword [ebp - 0xa0], eax
jne case.0x1003e306.151
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
add esi, 2
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x100424e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x9c], eax
jne case.0x1003e306.151
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10042582
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
lea esp, [esp]
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], eax
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx eax, word [esi]
cmp dword [ebp - 0x9c], eax
je case.0x1003e306.151
cmp dword [ebp - 0xa0], eax
je case.0x1003e306.151
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
push eax
push ecx
add esi, 2
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10042620
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
jmp 0x100426d0
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], eax
jge case.0x1003e306.151
cmp esi, dword [ebx + 0x7c]
jae 0x10042035
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x9c], ecx
je case.0x1003e306.151
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc edx
push edx
mov edx, dword [ebp - 0xa4]
push eax
push ebx
push ecx
push edx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x100426d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
inc ecx
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
push ebx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x98]
push eax
push ecx
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
jne 0x10042b1f
lea esp, [esp]
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003e306.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x10042035
cmp dword [ebp - 0xb4], 0xc
jne 0x1004280d
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100427e1
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10043970
add esp, 4
test eax, eax
jne case.0x1003e306.151
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x1004280d
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1004280d
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x1004280d
cmp eax, 1
je case.0x1003e306.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x1003e306.151
mov ecx, dword [ebp - 0xb4]
movzx eax, word [esi]
add esi, 2
add ecx, 0xfffffffa
mov dword [ebp - 0x88], esi
cmp ecx, 0xf
ja case.0x1004282b.15
jmp dword [ecx*4 + 0x10042db8]
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
je case.0x1004282b.13
cmp esi, dword [ebx + 0x7c]
jb case.0x1004282b.13
cmp dword [ebx + 0x18], 0
jne case.0x1004282b.13
cmp dword [ebx + 0x1c], 2
jne case.0x1004282b.13
movzx edx, word [ebx + 0x34]
cmp eax, edx
jne case.0x1004282b.13
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003f5f5
jmp case.0x1004282b.13
cmp eax, 0xd
ja 0x100428ba
je 0x10042899
cmp eax, 0xa
je case.0x1004282b.13
jbe case.0x1003e306.151
cmp eax, 0xc
jmp 0x100428d1
cmp esi, dword [ebx + 0x7c]
jae case.0x1004282b.13
cmp word [esi], 0xa
jne case.0x1004282b.13
add esi, 2
mov dword [ebp - 0x88], esi
jmp case.0x1004282b.13
cmp eax, 0x85
je 0x100428d7
cmp eax, 0x2027
jbe case.0x1003e306.151
cmp eax, 0x2029
ja case.0x1003e306.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x180e
ja 0x1004291b
je case.0x1003e306.151
cmp eax, 0xa0
ja 0x10042911
je case.0x1003e306.151
cmp eax, 9
je case.0x1003e306.151
cmp eax, 0x20
jmp 0x10042ad0
cmp eax, 0x1680
jmp 0x10042ad0
cmp eax, 0x205f
ja 0x10042948
je case.0x1003e306.151
cmp eax, 0x2000
jb case.0x1004282b.13
cmp eax, 0x200a
jbe case.0x1003e306.151
cmp eax, 0x202f
jmp 0x10042ad0
cmp eax, 0x3000
jmp 0x10042ad0
cmp eax, 0x180e
ja 0x10042993
je case.0x1004282b.13
cmp eax, 0xa0
ja 0x10042983
je case.0x1004282b.13
cmp eax, 9
je case.0x1004282b.13
cmp eax, 0x20
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x1680
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x205f
ja 0x100429c6
je case.0x1004282b.13
cmp eax, 0x2000
jb case.0x1003e306.151
cmp eax, 0x200a
jbe case.0x1004282b.13
cmp eax, 0x202f
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x3000
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x85
ja 0x100429fa
je case.0x1003e306.151
cmp eax, 0xa
jb case.0x1004282b.13
cmp eax, 0xd
jbe case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x2028
jb case.0x1004282b.13
cmp eax, 0x2029
jbe case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x85
ja 0x10042a39
je case.0x1004282b.13
cmp eax, 0xa
jb case.0x1003e306.151
cmp eax, 0xd
ja case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0x2028
jb case.0x1003e306.151
cmp eax, 0x2029
ja case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0xff
ja case.0x1004282b.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 4
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 4
jmp 0x10042ad0
cmp eax, 0xff
ja case.0x1004282b.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 1
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 1
jmp 0x10042ad0
cmp eax, 0xff
ja case.0x1004282b.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 0x10
jne case.0x1003e306.151
jmp case.0x1004282b.13
cmp eax, 0xff
ja case.0x1003e306.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je case.0x1003e306.151
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x98]
inc dword [ebp - 0x8c]
inc eax
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push ebx
push edx
push eax
push edi
push esi
call fcn.1003e1f0
add esp, 0x1c
test eax, eax
je 0x10042790
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10048188
mov esp, ebp
pop ebp
ret