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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [0x10063068]
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 0x1003bf43
cmp dword [ebp + 0x20], 0
lea eax, [ebp + 0x20]
jne 0x1003bf29
push 1
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.1003beb0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.10045a28
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jae 0x1003f4f5
mov edi, edi
mov edx, dword [ebp + 0x20]
inc dword [ebx]
cmp edx, dword [ebx + 8]
jae 0x1003f525
cmp dword [ebx + 0x9c], 2
mov esi, dword [ebp - 0x88]
jne 0x1003bf95
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.0x1003bfc6.15
movzx ecx, byte [eax + 0x1004092c]
jmp dword [ecx*4 + 0x100407f0]
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x1003f77d
movzx edx, word [edi]
movzx ecx, word [edi + 2]
movzx eax, byte [edx + 0x10052fd8]
add eax, ecx
lea edi, [edi + eax*2]
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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.1003beb0
add esp, 0x1c
cmp eax, 1
je 0x1003c086
cmp eax, 0xfffffc20
jne 0x1003c063
movzx edx, word [edi + 2]
lea ecx, [edi + edx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003c06b
cmp word [ecx], 0x71
jmp 0x1003c065
test eax, eax
jne 0x100407df
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 0x1003c010
jmp 0x1003c092
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0xa4], edx
movzx eax, word [edi]
cmp eax, 0x7c
je 0x1003c0a3
cmp eax, 0x71
jne case.0x1003bfc6.151
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x1003c0a3
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 0x1003c0db
cmp esi, dword [ebp - 0xb4]
jne 0x1003f22c
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov dword [ebp - 0xa8], 0
jmp 0x1003ccb5
cmp word [edi + 4], 0x70
movzx edx, word [edi + 2]
mov dword [ebp - 0xac], edx
jne 0x1003c1ec
cmp dword [0x10066174], 0
je 0x1003c1e2
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 0x1003c1ac
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 [0x10066174]
add esp, 4
test eax, eax
jg case.0x1003bfc6.151
js 0x100407df
add edi, 8
sub dword [ebp - 0xac], 4
movzx ecx, word [edi + 4]
lea eax, [edi + 4]
cmp ecx, 0x89
je 0x1003c429
cmp ecx, 0x8a
je 0x1003c429
cmp ecx, 0x87
je 0x1003c27f
cmp ecx, 0x88
je 0x1003c27f
cmp ecx, 0x8b
jne 0x1003c22f
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x1003c5dc
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.1003beb0
add esp, 0x1c
cmp eax, 1
je 0x1003f1d3
test eax, eax
je 0x1003c271
cmp eax, 0xfffffc20
jne 0x100407df
mov edx, dword [ebp - 0xac]
lea edi, [edi + edx*2]
jmp 0x1003c5dc
movzx eax, word [edi + 6]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003c29a
mov edx, dword [ebx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x1003c415
mov dword [ebp - 0x94], 0
cmp ecx, 0x88
jne 0x1003c5c8
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 0x1003c5c8
movzx edx, word [ecx]
cmp edx, dword [ebp - 0xb8]
je 0x1003c2e9
mov edx, dword [ebx + 0x24]
inc eax
lea ecx, [ecx + edx*2]
cmp eax, dword [ebx + 0x20]
jl 0x1003c2d2
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jge 0x1003c5c8
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x1003c36a
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.10041560
test eax, eax
jne 0x1003c36a
mov ecx, dword [ebp - 0x9c]
movzx eax, word [ecx]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003c35b
mov edx, dword [ebx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x1003c415
mov dword [ebp - 0x94], 0
cmp ecx, dword [ebx + 0x30]
ja 0x1003c314
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 0x1003c5c8
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 0x1003c3b0
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.10041560
test eax, eax
jne 0x1003c5c8
mov edx, dword [ebp - 0x9c]
movzx eax, word [edx]
add eax, eax
cmp eax, dword [ebp - 0x98]
jge 0x1003c3f4
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x1003c415
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jl 0x1003c3b0
jmp 0x1003c5c8
mov dword [ebp - 0x94], 1
mov eax, 2
jmp 0x1003c5cc
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x1003c43f
movzx edx, word [edi + 2]
lea edi, [edi + edx*2]
jmp 0x1003c5dc
movzx edx, word [edi + 6]
mov dword [ebp - 0x9c], edx
cmp edx, 0xffff
je 0x1003c415
mov eax, dword [eax + 4]
mov dword [ebp - 0xb8], eax
cmp edx, eax
je 0x1003c415
mov dword [ebp - 0x94], 0
cmp ecx, 0x8a
jne 0x1003c5c8
mov eax, dword [ebx + 0x30]
xor ecx, ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebx + 0x20]
jge 0x1003c5c8
mov edi, edi
movzx edx, word [eax]
cmp edx, dword [ebp - 0x9c]
je 0x1003c4a7
mov edx, dword [ebx + 0x24]
inc ecx
lea eax, [eax + edx*2]
cmp ecx, dword [ebx + 0x20]
jl 0x1003c490
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebx + 0x20]
jge 0x1003c5c8
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebx + 0x30]
jbe 0x1003c540
mov eax, dword [ebx + 0x24]
add eax, eax
mov dword [ebp - 0xac], eax
jmp 0x1003c4e0
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.10041560
test eax, eax
jne 0x1003c534
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 0x1003c41f
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebx + 0x30]
ja 0x1003c4e0
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 0x1003c5c8
mov ecx, dword [ebx + 0x24]
add ecx, ecx
add eax, 2
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], eax
jmp 0x1003c570
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.10041560
test eax, eax
jne 0x1003c5c8
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 0x1003c41f
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebx + 0x20]
jl 0x1003c570
movzx eax, word [edi + 2]
cmp dword [ebp - 0x94], 0
lea edi, [edi + eax*2]
jne 0x1003f20e
cmp word [edi], 0x71
je 0x1003f20e
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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 0x1003c632
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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 0x1003c663
add ecx, 2
mov dword [ebp - 0x98], ecx
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xac], eax
mov eax, 1
cmp dword [ebx + 0x9c], eax
jne 0x1003c69c
mov dword [ebp - 0x94], eax
mov dword [ebx + 0x9c], 0
jmp 0x1003c6b0
mov dword [ebp - 0x94], 0
jmp 0x1003c6b0
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.1003beb0
add esp, 0x1c
cmp eax, 1
je 0x1003c729
cmp eax, 0xfffffc19
je 0x1003c729
mov edx, dword [ebp - 0xac]
mov dword [ebx + 0xb0], edx
cmp eax, 0xfffffc20
jne 0x1003c711
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003c719
cmp word [ecx], 0x71
jmp 0x1003c713
test eax, eax
jne 0x100407df
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003c6b0
jmp 0x1003c735
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0xa4], eax
cmp word [edi], 0x72
je case.0x1003bfc6.151
cmp dword [ebp - 0x94], 0
jne 0x1003fb72
lea esp, [esp]
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x1003c750
mov edx, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x98], edx
jmp 0x1003bf9b
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xac], eax
mov eax, 1
cmp dword [ebx + 0x9c], eax
jne 0x1003c7a3
mov dword [ebp - 0x94], eax
mov dword [ebx + 0x9c], 0
jmp 0x1003c7b0
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.1003beb0
mov edx, dword [ebp - 0xac]
add esp, 0x1c
mov dword [ebx + 0xb0], edx
cmp eax, 0xfffffc20
jg 0x1003c805
jne 0x1003c820
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x1003c841
cmp word [edi], 0x71
je 0x1003c810
cmp word [eax], 0x71
jne 0x1003c841
jmp 0x1003c810
mov ecx, eax
sub ecx, 0
jne 0x1003f50d
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x1003c7b0
jmp 0x1003c84f
cmp eax, 0xfffffc19
je case.0x1003bfc6.151
cmp eax, 0xfffffc1b
jle 0x100407df
cmp eax, 0xfffffc1f
jg 0x100407df
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003c841
cmp dword [ebp - 0x94], 0
jne 0x1003fb72
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
movzx eax, word [edi + 2]
neg eax
lea esi, [esi + eax*2]
mov dword [ebp - 0x88], esi
cmp esi, dword [ebx + 0x78]
jb case.0x1003bfc6.151
cmp esi, dword [ebx + 0x88]
jae 0x1003c890
mov dword [ebx + 0x88], esi
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp dword [0x10066174], 0
je 0x1003c973
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 0x1003c93d
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 [0x10066174]
add esp, 4
test eax, eax
jg case.0x1003bfc6.151
js 0x100407df
add edi, 8
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x74]
lea ecx, [eax + edx*2]
mov dword [ebp - 0xb4], ecx
cmp ecx, eax
jne 0x1003c999
xor edx, edx
jmp 0x1003c99d
movzx edx, word [ecx + 4]
mov ecx, dword [ebx + 0xa8]
mov eax, ecx
test eax, eax
je 0x1003c9c4
lea esp, [esp]
cmp edx, dword [eax + 4]
jne 0x1003c9be
cmp esi, dword [eax + 0x14]
je 0x1003faf3
mov eax, dword [eax]
test eax, eax
jne 0x1003c9b0
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 0x1003ca13
lea eax, [ebp - 0x84]
mov dword [ebp - 0xc8], eax
jmp 0x1003ca38
lea edx, [ecx*4]
push edx
call dword [0x10065740]
add esp, 4
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1003fb09
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 0x1003ca74
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 + 0x10052fd8]
lea eax, [eax + edx*2]
push eax
push esi
call fcn.1003beb0
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 0x1003cb7c
mov eax, dword [ebp - 0xb8]
cmp eax, 0xfffffc19
je 0x1003cb7c
cmp eax, 0xfffffc1c
jl 0x1003cb17
cmp eax, 0xfffffc20
jle case.0x1003bfc6.151
test eax, eax
jne 0x1003fb1f
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 0x1003ca61
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0xa8], ecx
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x1003cb69
push eax
call dword [0x10065744]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x1003cb96
push eax
call dword [0x10065744]
add esp, 4
mov esi, dword [ebx + 0x84]
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xa4], edx
jmp 0x1003bf9b
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je case.0x1003bfc6.113
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
lea esp, [esp]
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003cc00
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
add edi, 2
mov eax, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x1003cc21
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
add edi, 2
lea ecx, [ecx]
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x1003cc70
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
movzx eax, word [edi + 2]
add edi, 2
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa8], 1
cmp eax, 0x80
je 0x1003ccb5
cmp eax, 0x85
jne 0x1003ce7d
movzx ecx, word [edi + 4]
mov dword [ebp - 0xa0], ecx
add ecx, ecx
cmp ecx, dword [ebx + 0x14]
jge case.0x1003bfc6.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 0x1003cd20
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 0x1003cd4c
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 + 0x10052fd8]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x1003cdc4
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 0x1003cd20
cmp eax, 0xfffffc20
jne 0x1003cdea
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003cdf2
cmp word [ecx], 0x71
jmp 0x1003cdec
test eax, eax
jne 0x100407df
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 0x1003cd20
cmp dword [ebp - 0x94], 0
jne 0x1003ce4f
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 0x1003ce65
cmp dword [ebp - 0x94], 0
je case.0x1003bfc6.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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 0x1003ceb1
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 + 0x10052fd8]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x1003cf20
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 0x1003cea0
cmp eax, 0xfffffc20
jne 0x1003cf46
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003cf4e
cmp word [ecx], 0x71
jmp 0x1003cf48
test eax, eax
jne 0x100407df
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
jne 0x1003cf73
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0xb4]
jmp 0x1003cea0
cmp dword [ebp - 0x94], 0
jne 0x1003cf89
cmp dword [ebp - 0xa8], 0
je case.0x1003bfc6.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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 0x1003cfc6
cmp eax, 0x7b
je 0x1003cfc6
mov dword [ebp - 0xb4], 0
jmp 0x1003cfe3
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 0x1003cff1
cmp eax, 0x7a
jbe 0x1003fb54
cmp eax, 0x7c
je 0x1003fb54
cmp eax, 0x7f
je 0x1003d021
mov edx, 0x84
cmp ax, dx
je 0x1003d021
mov edx, 0x80
cmp ax, dx
je 0x1003d021
mov edx, 0x85
cmp ax, dx
jne 0x1003d0d2
movzx ecx, word [ecx + 4]
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + ecx]
test eax, eax
je 0x1003d041
cmp dword [eax + 4], ecx
je 0x1003fb88
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x1003d066
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x1003d0cc
mov eax, dword [ebp - 0x98]
cmp edx, eax
jle 0x1003d09d
mov ecx, dword [ebx + 0xc]
lea eax, [ecx + eax*4]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xb8], eax
cmp eax, ecx
jae 0x1003d097
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 0x1003d0cc
add edx, 2
mov dword [ebp - 0x98], edx
mov ecx, dword [ebp - 0x9c]
cmp word [edi], 0x72
je 0x1003d0e4
cmp esi, dword [ebp - 0xb4]
jne 0x1003f3b4
add edi, 4
cmp word [ecx], 0x7b
je 0x1003fca6
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp dword [ebx + 0x48], 0
je case.0x1003bfc6.1
cmp esi, dword [ebx + 0x78]
je case.0x1003bfc6.151
cmp esi, dword [ebx + 0x78]
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp dword [ebx + 0x48], 0
je 0x1003d131
cmp esi, dword [ebx + 0x78]
je case.0x1003bfc6.151
mov edx, dword [ebx + 0x78]
cmp esi, edx
je 0x1003d1bc
cmp esi, dword [ebx + 0x7c]
je case.0x1003bfc6.151
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003d188
cmp esi, edx
jbe case.0x1003bfc6.151
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.100416c0
add esp, 4
test eax, eax
je case.0x1003bfc6.151
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov ecx, dword [ebx + 0x1c]
lea eax, [ecx + ecx]
add edx, eax
cmp esi, edx
jb case.0x1003bfc6.151
mov edx, esi
sub edx, eax
mov ax, word [edx]
cmp ax, word [ebx + 0x34]
jne case.0x1003bfc6.151
cmp ecx, 1
je 0x1003d1bc
mov cx, word [edx + 2]
cmp cx, word [ebx + 0x36]
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov edx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea ecx, [eax + edx*2]
cmp esi, ecx
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
add edi, 2
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003d2cb
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003d23a
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10041630
add esp, 4
test eax, eax
je 0x1003d264
mov esi, dword [ebp - 0x88]
add dword [ebp - 0x90], 2
jmp 0x1003bf95
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003d264
mov edx, dword [ebp - 0x88]
mov cx, word [edx]
cmp cx, word [ebx + 0x34]
jne 0x1003d264
cmp eax, 1
je 0x1003d228
mov ax, word [edx + 2]
cmp ax, word [ebx + 0x36]
je 0x1003d228
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.151
mov ecx, dword [ebp - 0x88]
lea edx, [ecx + 2]
cmp edx, dword [ebx + 0x7c]
jb case.0x1003bfc6.151
cmp dword [ebx + 0x18], 0
jne case.0x1003bfc6.151
cmp dword [ebx + 0x1c], 2
jne case.0x1003bfc6.151
mov cx, word [ecx]
cmp cx, word [ebx + 0x34]
jne case.0x1003bfc6.151
mov dword [ebx + 0x68], 1
cmp eax, 1
jle case.0x1003bfc6.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x4c], 0
jne case.0x1003bfc6.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003d22e
cmp esi, dword [ebx + 0x88]
jbe 0x1003d22e
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
add dword [ebp - 0x90], 2
jmp 0x1003bf95
cmp dword [ebx + 0x4c], 0
jne case.0x1003bfc6.151
cmp dword [ebx + 0x5c], 0
je case.0x1003bfc6.23
cmp esi, dword [ebx + 0x7c]
jb case.0x1003bfc6.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003d342
cmp esi, dword [ebx + 0x88]
jbe 0x1003d342
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003d3c4
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1003d382
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10041630
add esp, 4
test eax, eax
je 0x1003d264
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x1003d3b2
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003d264
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x1003d264
cmp eax, 1
je 0x1003d3b2
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
jne 0x1003d264
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp esi, edx
jne 0x1003d264
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003d342
cmp esi, dword [ebx + 0x88]
jbe 0x1003d342
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x78]
je 0x1003d432
cmp esi, dword [ebx + 0x88]
ja 0x1003d412
lea eax, [esi - 2]
mov dword [ebx + 0x88], eax
movzx eax, word [esi - 2]
mov ecx, 0xff
cmp ax, cx
ja 0x1003d432
mov edx, eax
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je 0x1003d432
mov ecx, 1
jmp 0x1003d434
xor ecx, ecx
cmp esi, dword [ebx + 0x7c]
jb 0x1003d478
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003d45b
cmp esi, dword [ebx + 0x88]
jbe 0x1003d45b
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
xor eax, eax
mov dx, word [edi]
add edi, 2
mov dword [ebp - 0x90], edi
cmp dx, 5
jne 0x1003d495
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x1003d49c
movzx eax, word [esi]
mov edx, 0xff
cmp ax, dx
ja 0x1003d45b
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je 0x1003d45b
mov eax, 1
jmp 0x1003d45d
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x1003bf9b
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x18]
mov edx, dword [ebx + 0x7c]
test eax, eax
je 0x1003d4eb
cmp esi, edx
jae 0x1003d517
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10041630
add esp, 4
test eax, eax
jne case.0x1003bfc6.151
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x1003d517
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003d517
mov cx, word [esi]
cmp cx, word [ebx + 0x34]
jne 0x1003d517
cmp eax, 1
je case.0x1003bfc6.151
mov dx, word [esi + 2]
cmp dx, word [ebx + 0x36]
je case.0x1003bfc6.151
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.13
lea ecx, [esi + 2]
cmp ecx, dword [ebx + 0x7c]
jb case.0x1003bfc6.13
cmp dword [ebx + 0x18], 0
jne case.0x1003bfc6.13
cmp dword [ebx + 0x1c], 2
jne case.0x1003bfc6.13
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne case.0x1003bfc6.13
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
add esi, 2
add edi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003d597
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 4
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 4
je case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003d609
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 1
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 1
je case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x100
jae 0x1003d67b
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 0x10
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0xd
ja 0x1003d747
je 0x1003d6f6
cmp eax, 0xa
je 0x1003d76e
jbe case.0x1003bfc6.151
cmp eax, 0xc
jmp 0x1003d75e
cmp esi, ecx
jb 0x1003d72a
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003d76e
cmp esi, dword [ebx + 0x88]
jbe 0x1003d76e
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp word [esi], 0xa
jne 0x1003d76e
add esi, 2
add edi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp eax, 0x85
je 0x1003d764
cmp eax, 0x2027
jbe case.0x1003bfc6.151
cmp eax, 0x2029
ja case.0x1003bfc6.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x180e
ja 0x1003d7c0
je case.0x1003bfc6.151
cmp eax, 0xa0
ja 0x1003d7b9
je case.0x1003bfc6.151
cmp eax, 9
je case.0x1003bfc6.151
cmp eax, 0x20
jmp 0x1003d7eb
cmp eax, 0x1680
jmp 0x1003d7eb
cmp eax, 0x205f
ja 0x1003d7e6
je case.0x1003bfc6.151
cmp eax, 0x2000
jb 0x1003d7f1
cmp eax, 0x200a
jbe case.0x1003bfc6.151
cmp eax, 0x202f
jmp 0x1003d7eb
cmp eax, 0x3000
je case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x180e
ja 0x1003d837
je 0x1003d864
cmp eax, 0xa0
ja 0x1003d830
je 0x1003d864
cmp eax, 9
je 0x1003d864
cmp eax, 0x20
jmp 0x1003d85e
cmp eax, 0x1680
jmp 0x1003d85e
cmp eax, 0x205f
ja 0x1003d859
je 0x1003d864
cmp eax, 0x2000
jb case.0x1003bfc6.151
cmp eax, 0x200a
jbe 0x1003d864
cmp eax, 0x202f
jmp 0x1003d85e
cmp eax, 0x3000
jne case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x85
ja 0x1003d89e
je case.0x1003bfc6.151
cmp eax, 0xa
jb 0x1003d8b0
cmp eax, 0xd
jmp 0x1003d8aa
cmp eax, 0x2028
jb 0x1003d8b0
cmp eax, 0x2029
jbe case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp eax, 0x85
ja 0x1003d8ea
je 0x1003d900
cmp eax, 0xa
jb case.0x1003bfc6.151
cmp eax, 0xd
jmp 0x1003d8fa
cmp eax, 0x2028
jb case.0x1003bfc6.151
cmp eax, 0x2029
ja case.0x1003bfc6.151
add edi, 2
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
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 0x1003d94d
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x1003d94d
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x1003d957
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.0x1003d973
movzx ecx, byte [ecx + 0x100409d0]
jmp dword [ecx*4 + 0x100409c8]
movsx edx, byte [eax + 0x100530ae]
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x100530b6]
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 0x1003d9fb
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
jmp 0x1003d9fb
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 0x1003d9f2
mov eax, SysReAllocString
mov dword [ebp - 0xa8], eax
add edi, 6
mov dword [ebp - 0x90], edi
test edx, edx
je 0x1003bf9b
mov edx, dword [ebp - 0xa0]
jns 0x1003da13
test edx, edx
je 0x1003bf9b
mov dword [ebp - 0x8c], 1
cmp edx, 1
jl 0x1003da7a
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.1003bde0
add esp, 8
test eax, eax
js 0x1003fd14
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 0x1003da22
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa8]
cmp edx, eax
je 0x1003bf9b
test ecx, ecx
je 0x1003fd74
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov ecx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], ecx
jge case.0x1003bfc6.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.1003bde0
add esp, 8
test eax, eax
js 0x1003fd44
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.1003beb0
add esp, 0x1c
test eax, eax
je 0x1003dac3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003bde0
add esp, 8
test eax, eax
js 0x1003fe4f
lea esi, [esi + eax*2]
mov dword [ebp - 0x88], esi
jmp 0x1003bf9b
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.0x1003db9e
movzx ecx, byte [ecx + 0x100409e0]
jmp dword [ecx*4 + 0x100409d8]
lea ecx, [edx - 0x62]
and ecx, 1
mov dword [ebp - 0x94], ecx
movsx ecx, byte [edx + 0x100530ae]
movsx edx, byte [edx + 0x100530b6]
add edi, 2
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa8], edx
test edx, edx
jne 0x1003dc31
mov dword [ebp - 0xa8], VariantClear
jmp 0x1003dc31
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 0x1003dc15
mov dword [ebp - 0xa8], VariantClear
add edi, 6
mov dword [ebp - 0x90], edi
jmp 0x1003dc31
mov ecx, 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003dca2
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, 0xff
jbe 0x1003dc68
cmp eax, 0x6a
je case.0x1003bfc6.151
jmp 0x1003dc94
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.0x1003bfc6.151
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa0]
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], ecx
jle 0x1003dc40
cmp ecx, dword [ebp - 0xa8]
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
je 0x1003fee3
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov edi, edi
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
cmp eax, 0xff
jbe 0x1003fe7f
cmp dword [ebp - 0xb4], 0x6a
jmp 0x1003fe99
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.0x1003dd56
movzx ecx, byte [ecx + 0x100409f0]
jmp dword [ecx*4 + 0x100409e8]
movsx edi, byte [edx + 0x100530b6]
add eax, 2
mov dword [ebp - 0x90], eax
lea eax, [edx - 0x62]
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [edx + 0x100530ae]
mov dword [ebp - 0xa0], eax
test edi, edi
jne 0x1003ddcc
mov edi, SysReAllocString
jmp 0x1003ddcc
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 0x1003ddb6
mov edi, SysReAllocString
add eax, 6
mov dword [ebp - 0x90], eax
jmp 0x1003ddcc
mov edi, 1
mov dword [ebp - 0xa0], edi
mov eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0xa0], eax
jl 0x1003de29
nop
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
mov eax, dword [ebp - 0x88]
movzx esi, word [eax]
mov edx, dword [ebp - 0xac]
add eax, 2
mov dword [ebp - 0x88], eax
call fcn.10041760
test eax, eax
je case.0x1003bfc6.151
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, dword [ebp - 0xa0]
jle 0x1003dde0
mov eax, dword [ebp - 0xa0]
cmp eax, edi
je 0x1003bf95
cmp dword [ebp - 0x94], 0
je 0x1004007c
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
jmp 0x1003fff6
mov eax, dword [ebx + 0x7c]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jl 0x1003fcf5
mov cx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp word [edi + 2], cx
jne case.0x1003bfc6.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [edi + 2]
mov edx, 0xff
cmp ax, dx
ja 0x1003ded7
mov ecx, dword [ebx + 0x3c]
movzx ecx, byte [ecx + eax]
jmp 0x1003ded9
mov ecx, eax
movzx eax, word [esi]
cmp ax, dx
ja 0x1003dee8
mov edx, dword [ebx + 0x3c]
movzx eax, byte [edx + eax]
cmp ecx, eax
jne case.0x1003bfc6.151
add esi, 2
add edi, 4
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
movzx eax, word [edi + 2]
mov ecx, eax
add edi, 4
jmp 0x1003dfb8
mov dword [ebp - 0xac], 1
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp edx, 0x28
je 0x1003df3b
mov dword [ebp - 0x94], ecx
cmp edx, 0x35
jne 0x1003df45
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x1003dfbe
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 2
jmp 0x1003dfb3
mov ecx, 1
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x1003dfb3
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xac], eax
add edi, 2
jmp 0x1003dfb8
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 + 0x10053110]
movsx eax, byte [eax + 0x10053118]
add edi, 2
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x1003dfbe
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 0x1003e149
cmp edx, 0xff
ja 0x1003dffa
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa8]
jmp 0x1003e006
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003e057
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
cmp edx, eax
je 0x1003e037
cmp dword [ebp - 0xa0], eax
jne case.0x1003bfc6.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 0x1003e015
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x1004016f
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1003e0b4
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x1003e11c
movzx ecx, word [esi]
cmp edx, ecx
je 0x1003e09a
cmp dword [ebp - 0xa0], ecx
jne 0x1003e0ae
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x1003e082
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003bf9b
cmp esi, dword [ebp - 0x94]
je 0x1003f4ea
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.1003beb0
sub esi, 2
add esp, 0x1c
mov dword [ebp - 0x88], esi
test eax, eax
jne 0x100407df
cmp esi, dword [ebp - 0x94]
jne 0x1003e0d9
jmp 0x1003f4ea
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1003e0b4
cmp esi, dword [ebx + 0x88]
jbe 0x1003e0b4
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
jmp 0x1003e0b4
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003e192
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, eax
jne case.0x1003bfc6.151
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x1003e15e
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x10040215
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1003e1ea
mov edx, dword [ebp - 0x9c]
lea ecx, [ecx]
cmp esi, dword [ebx + 0x7c]
jae 0x1003e252
movzx ecx, word [esi]
cmp edx, ecx
jne 0x1003e1e4
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x1003e1c0
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003bf9b
cmp esi, dword [ebp - 0x94]
je 0x1003f4ea
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.1003beb0
sub esi, 2
add esp, 0x1c
mov dword [ebp - 0x88], esi
test eax, eax
jne 0x100407df
cmp esi, dword [ebp - 0x94]
jne 0x1003e20f
jmp 0x1003f4ea
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1003e1ea
cmp esi, dword [ebx + 0x88]
jbe 0x1003e1ea
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
jmp 0x1003e1ea
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx edx, word [esi]
movzx ecx, word [edi + 2]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, edx
je case.0x1003bfc6.151
cmp eax, 0x20
jne 0x1003e2bc
cmp ecx, 0xff
ja 0x1003e2b4
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x1003bfc6.151
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003bf9b
movzx eax, word [edi + 2]
mov ecx, eax
add edi, 4
jmp 0x1003e389
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xa8], eax
cmp edx, 0x42
je 0x1003e2f4
mov dword [ebp - 0x94], ecx
cmp edx, 0x4f
jne 0x1003e2fe
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x1003e38f
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 2
jmp 0x1003e384
mov ecx, 1
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x1003e384
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xac], eax
add edi, 2
jmp 0x1003e389
movzx eax, word [edi + 2]
xor ecx, ecx
mov dword [ebp - 0xac], 1
add edi, 4
jmp 0x1003e389
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 + 0x10053110]
movsx eax, byte [eax + 0x10053118]
add edi, 2
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x1003e38f
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 0x1003e52b
cmp edx, 0xff
ja 0x1003e3cb
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa8]
jmp 0x1003e3d7
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003e436
jmp 0x1003e3f6
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
cmp edx, eax
je case.0x1003bfc6.151
cmp dword [ebp - 0xa0], eax
je case.0x1003bfc6.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 0x1003e3f0
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x100402af
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1003e496
jmp 0x1003e460
cmp esi, dword [ebx + 0x7c]
jae 0x1003e4fe
movzx ecx, word [esi]
cmp dword [ebp - 0x9c], ecx
je 0x1003e490
cmp dword [ebp - 0xa0], ecx
je 0x1003e490
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x1003e460
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003bf9b
cmp esi, dword [ebp - 0x94]
je 0x1003f4ea
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
sub esi, 2
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x1003e4bb
jmp 0x1003f4ea
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1003e496
cmp esi, dword [ebx + 0x88]
jbe 0x1003e496
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
jmp 0x1003e496
mov dword [ebp - 0x8c], 1
cmp ecx, 1
jl 0x1003e574
mov edx, dword [ebp - 0x9c]
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp edx, eax
je case.0x1003bfc6.151
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x1003e540
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0x8c], ecx
jne 0x10040359
mov dword [ebp - 0x94], esi
cmp ecx, eax
jge 0x1003e5ca
mov edx, dword [ebp - 0x9c]
nop
cmp esi, dword [ebx + 0x7c]
jae 0x1003e632
movzx ecx, word [esi]
cmp edx, ecx
je 0x1003e5c4
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jl 0x1003e5a0
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
jne 0x1003bf9b
cmp esi, dword [ebp - 0x94]
je 0x1003f4ea
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
sub esi, 2
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x1003e5ef
jmp 0x1003f4ea
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1003e5ca
cmp esi, dword [ebx + 0x88]
jbe 0x1003e5ca
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
jmp 0x1003e5ca
movzx eax, word [edi + 2]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x94], 1
add edi, 4
jmp 0x1003e751
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 0x1003e751
xor eax, eax
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xa0], eax
add edi, 2
jmp 0x1003e747
mov eax, 1
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa0], eax
add edi, 2
jmp 0x1003e747
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 0x1003e751
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 0x1003e751
lea edx, [eax - 0x55]
movsx ecx, byte [edx + 0x10053118]
mov eax, edx
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [edx + 0x10053110]
add edi, 2
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], ecx
test ecx, ecx
jne 0x1003e751
mov dword [ebp - 0xa8], VariantClear
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x90], edi
test eax, eax
jle 0x1003ecbe
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x100404eb.15
jmp dword [ecx*4 + 0x100409f8]
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003fcf5
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x1003e7cd
push ecx
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
call fcn.10041630
add esp, 4
test eax, eax
jne case.0x1003bfc6.151
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa0]
mov esi, ecx
jmp 0x1003e802
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xb8], ecx
add ecx, ecx
sub edx, ecx
cmp esi, edx
ja 0x1003e802
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x1003e802
cmp dword [ebp - 0xb8], 1
je case.0x1003bfc6.151
mov cx, word [esi + 2]
cmp cx, word [ebx + 0x36]
je case.0x1003bfc6.151
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
je 0x1003e839
lea edx, [esi + 2]
cmp edx, dword [ebx + 0x7c]
jb 0x1003e839
cmp dword [ebx + 0x18], 0
jne 0x1003e839
cmp dword [ebx + 0x1c], 2
jne 0x1003e839
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x1003e839
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003d2b5
mov ecx, dword [ebp - 0x8c]
inc ecx
add esi, 2
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ecx
cmp ecx, eax
jle 0x1003e791
jmp 0x1003ecbe
mov edx, dword [ebx + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x1003fcf5
add esi, ecx
mov dword [ebp - 0x88], esi
jmp 0x1003ecbe
mov edx, 1
cmp eax, edx
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0xd
jg 0x1003e8c2
je 0x1003e8ac
cmp ecx, 0xa
je 0x1003e8e3
add ecx, 0xfffffff5
jmp 0x1003e8d0
cmp esi, dword [ebx + 0x7c]
jae 0x1003e8e3
cmp word [esi], 0xa
jne 0x1003e8e3
add esi, 2
mov dword [ebp - 0x88], esi
jmp 0x1003e8e3
cmp ecx, 0x85
je 0x1003e8d9
add ecx, 0xffffdfd8
cmp ecx, 1
ja case.0x1003bfc6.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003bfc6.151
inc edx
cmp edx, eax
jle 0x1003e886
jmp 0x1003ecbe
mov edx, 1
cmp eax, edx
jl 0x1003ecbe
lea ebx, [ebx]
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x180e
jg 0x1003e947
je case.0x1003bfc6.151
cmp ecx, 0xa0
jg 0x1003e93f
je case.0x1003bfc6.151
cmp ecx, 9
je case.0x1003bfc6.151
cmp ecx, 0x20
jmp 0x1003e977
cmp ecx, 0x1680
jmp 0x1003e977
cmp ecx, 0x205f
jg 0x1003e971
je case.0x1003bfc6.151
cmp ecx, 0x2000
jl 0x1003e97d
cmp ecx, 0x200a
jle case.0x1003bfc6.151
cmp ecx, 0x202f
jmp 0x1003e977
cmp ecx, 0x3000
je case.0x1003bfc6.151
inc edx
cmp edx, eax
jle 0x1003e900
jmp 0x1003ecbe
mov edx, 1
cmp eax, edx
jl 0x1003ecbe
jmp 0x1003e9a0
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x180e
jg 0x1003e9db
je 0x1003ea0d
cmp ecx, 0xa0
jg 0x1003e9d3
je 0x1003ea0d
cmp ecx, 9
je 0x1003ea0d
cmp ecx, 0x20
jmp 0x1003ea07
cmp ecx, 0x1680
jmp 0x1003ea07
cmp ecx, 0x205f
jg 0x1003ea01
je 0x1003ea0d
cmp ecx, 0x2000
jl case.0x1003bfc6.151
cmp ecx, 0x200a
jle 0x1003ea0d
cmp ecx, 0x202f
jmp 0x1003ea07
cmp ecx, 0x3000
jne case.0x1003bfc6.151
inc edx
cmp edx, eax
jle 0x1003e9a0
jmp 0x1003ecbe
mov edx, 1
cmp eax, edx
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x85
jg 0x1003ea51
je case.0x1003bfc6.151
cmp ecx, 0xa
jl 0x1003ea65
cmp ecx, 0xd
jmp 0x1003ea5f
cmp ecx, 0x2028
jl 0x1003ea65
cmp ecx, 0x2029
jle case.0x1003bfc6.151
inc edx
cmp edx, eax
jle 0x1003ea24
jmp 0x1003ecbe
mov edx, 1
cmp eax, edx
jl 0x1003ecbe
lea esp, [esp]
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x88], esi
cmp ecx, 0x85
jg 0x1003eaa7
je 0x1003eab6
add ecx, 0xfffffff6
cmp ecx, 3
jmp 0x1003eab0
add ecx, 0xffffdfd8
cmp ecx, 1
ja case.0x1003bfc6.151
inc edx
cmp edx, eax
jle 0x1003ea80
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003eaf6
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
jne case.0x1003bfc6.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 0x1003ead3
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
je case.0x1003bfc6.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 0x1003eb28
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003eba4
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
jne case.0x1003bfc6.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 0x1003eb81
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
je case.0x1003bfc6.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 0x1003ebd6
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003ec52
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
jne case.0x1003bfc6.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 0x1003ec2f
jmp 0x1003ecbe
mov dword [ebp - 0x8c], 1
cmp eax, 1
jl 0x1003ecbe
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
je case.0x1003bfc6.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 0x1003ec7d
mov edx, dword [ebp - 0xa8]
cmp eax, edx
je 0x1003bf9b
cmp dword [ebp - 0x94], 0
jne 0x10040413
mov ecx, dword [ebp - 0xb4]
add ecx, 0xfffffffa
mov dword [ebp - 0x94], esi
cmp ecx, 0xf
ja case.0x100404eb.15
jmp dword [ecx*4 + 0x10040a38]
mov dword [ebp - 0x8c], eax
cmp eax, edx
jge 0x1003f1bb
jmp 0x1003ed10
mov eax, dword [ebx + 0x7c]
cmp esi, eax
jae 0x1003ee92
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x1003ed44
push ecx
mov ecx, dword [ebp - 0x88]
mov esi, edi
mov edx, eax
call fcn.10041630
add esp, 4
test eax, eax
jne 0x1003f1bb
mov esi, ecx
jmp 0x1003ed6f
mov ecx, dword [edi]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x1003ed6f
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x1003ed6f
cmp ecx, 1
je 0x1003f1bb
mov cx, word [esi + 2]
cmp cx, word [ebx + 0x36]
je 0x1003f1bb
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003eda5
lea edx, [esi + 2]
cmp edx, dword [ebx + 0x7c]
jb 0x1003eda5
cmp dword [ebx + 0x18], 0
jne 0x1003eda5
cmp dword [edi], 2
jne 0x1003eda5
mov cx, word [esi]
cmp cx, word [ebx + 0x34]
jne 0x1003eda5
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
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 0x1003ed10
jmp 0x1003f1bb
sub edx, eax
mov eax, dword [ebx + 0x7c]
mov ecx, edx
mov edx, eax
sub edx, esi
sar edx, 1
cmp ecx, edx
jbe 0x1003ee12
mov ecx, dword [ebx + 0x8c]
mov dword [ebp - 0x88], eax
test ecx, ecx
je 0x1003f1bb
cmp eax, dword [ebx + 0x88]
jbe 0x1003f1bb
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003d2b5
jmp 0x1003f1bb
lea eax, [esi + ecx*2]
mov dword [ebp - 0x88], eax
jmp 0x1003f1bb
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
cmp ecx, 0xd
jne 0x1003ee4a
add esi, 2
cmp esi, edi
jae 0x1003f1b5
cmp word [esi], 0xa
jne 0x1003ee82
jmp 0x1003ee7f
cmp ecx, 0xa
je 0x1003ee7f
cmp dword [ebx + 0x6c], 0
jne 0x1003f1b5
cmp ecx, 0xb
je 0x1003ee7f
cmp ecx, 0xc
je 0x1003ee7f
cmp ecx, 0x85
je 0x1003ee7f
cmp ecx, 0x2028
je 0x1003ee7f
cmp ecx, 0x2029
jne 0x1003f1b5
add esi, 2
inc eax
cmp eax, edx
jl 0x1003ee2b
jmp 0x1003f1b5
mov dword [ebp - 0x88], esi
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003f1bb
cmp esi, dword [ebx + 0x88]
jbe 0x1003f1bb
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
jmp 0x1003f1bb
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x1003ef05
je 0x1003f1b5
cmp ecx, 0xa0
jg 0x1003eefd
je 0x1003f1b5
cmp ecx, 9
je 0x1003f1b5
cmp ecx, 0x20
jmp 0x1003ef35
cmp ecx, 0x1680
jmp 0x1003ef35
cmp ecx, 0x205f
jg 0x1003ef2f
je 0x1003f1b5
cmp ecx, 0x2000
jl 0x1003ef3b
cmp ecx, 0x200a
jle 0x1003f1b5
cmp ecx, 0x202f
jmp 0x1003ef35
cmp ecx, 0x3000
je 0x1003f1b5
inc eax
add esi, 2
cmp eax, edx
jl 0x1003eecc
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x1003ef84
je 0x1003efb6
cmp ecx, 0xa0
jg 0x1003ef7c
je 0x1003efb6
cmp ecx, 9
je 0x1003efb6
cmp ecx, 0x20
jmp 0x1003efb0
cmp ecx, 0x1680
jmp 0x1003efb0
cmp ecx, 0x205f
jg 0x1003efaa
je 0x1003efb6
cmp ecx, 0x2000
jl 0x1003f1b5
cmp ecx, 0x200a
jle 0x1003efb6
cmp ecx, 0x202f
jmp 0x1003efb0
cmp ecx, 0x3000
jne 0x1003f1b5
inc eax
add esi, 2
cmp eax, edx
jl 0x1003ef53
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
mov edi, edi
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x1003eff3
je 0x1003f1b5
cmp ecx, 0xa
jl 0x1003f007
cmp ecx, 0xd
jmp 0x1003f001
cmp ecx, 0x2028
jl 0x1003f007
cmp ecx, 0x2029
jle 0x1003f1b5
inc eax
add esi, 2
cmp eax, edx
jl 0x1003efd0
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x1003f03c
je 0x1003f04b
add ecx, 0xfffffff6
cmp ecx, 3
jmp 0x1003f045
add ecx, 0xffffdfd8
cmp ecx, 1
ja 0x1003f1b5
inc eax
add esi, 2
cmp eax, edx
jl 0x1003f01f
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f085
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
jne 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f063
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f1b5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 4
je 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f0a1
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f105
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
jne 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f0e3
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f1b5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 1
je 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f121
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f176
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
jne 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f158
jmp 0x1003f1b5
cmp eax, edx
jge 0x1003f1bb
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x1003ee8c
movzx ecx, word [esi]
mov edx, 0xff
cmp cx, dx
ja 0x1003f1b5
mov edx, dword [ebx + 0x44]
test byte [ecx + edx], 0x10
je 0x1003f1b5
inc eax
add esi, 2
cmp eax, dword [ebp - 0xa8]
jl 0x1003f18b
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0xac], 0
je 0x1003f46b
mov esi, dword [ebp - 0x88]
jmp 0x1003bf95
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp - 0x98]
jle 0x1003f1e7
mov dword [ebp - 0x98], eax
movzx eax, word [edi + 6]
cmp word [edi + eax*2 + 4], 0x71
lea edi, [edi + eax*2 + 4]
jne 0x1003f20e
jmp 0x1003f200
movzx ecx, word [edi + 2]
cmp word [edi + ecx*2], 0x71
lea edi, [edi + ecx*2]
je 0x1003f200
add edi, 4
cmp dword [ebp - 0xb4], 0x86
je 0x1003fa46
mov dword [ebp - 0x90], edi
jmp 0x1003f4ea
cmp word [edi], 0x74
jne 0x1003f26d
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x90], eax
jmp 0x1003f4ea
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
add edi, 4
mov dword [ebp - 0x90], edi
jmp 0x1003f4ea
movzx ecx, word [edi + 4]
mov dword [ebp - 0xa0], ecx
add ecx, ecx
cmp ecx, dword [ebx + 0x14]
jl 0x1003f8a4
cmp eax, 0x82
jae 0x1003f2f8
cmp eax, 0x7b
je 0x1003f2f8
cmp dword [ebx + 0x70], 0
jne 0x1003f302
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
je 0x1003f302
movzx edx, word [edi]
movzx eax, byte [edx + 0x10052fd8]
lea ecx, [edi + eax*2]
mov dword [ebp - 0x90], ecx
jmp 0x1003f4ea
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 + 0x10052fd8]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x1003f378
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003f380
cmp word [ecx], 0x71
jne 0x100407df
jmp 0x1003f380
test eax, eax
jne 0x1003f9f4
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.0x1003bfc6.151
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 0x94], ecx
jmp case.0x1003bfc6.123
movzx eax, word [edi]
cmp eax, 0x75
je 0x1003fbb0
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 0x1003f420
add edi, 4
push edi
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov edi, dword [ebp - 0x9c]
movzx eax, word [edi]
cmp eax, 0x7b
je 0x1003fbd8
mov ecx, 0x82
cmp ax, cx
jae 0x1003fc21
mov dword [ebp - 0x90], edi
jmp 0x1003f4ea
mov eax, dword [ebp - 0x9c]
push eax
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x1003f445
mov ecx, dword [ebx + 0xb8]
cmp ecx, dword [ebp - 0x9c]
jmp 0x1003f447
test eax, eax
jne 0x100407df
mov edx, dword [ebp - 0x9c]
add edi, 4
cmp word [edx], 0x7b
je 0x1003fc57
mov dword [ebp - 0x90], edi
jmp 0x1003f4ea
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0x88], ecx
je 0x1003f4ea
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
sub esi, 2
cmp dword [ebp - 0xb4], 0x11
mov dword [ebp - 0x88], esi
jne 0x1003f4e2
cmp esi, dword [ebp - 0x94]
jbe 0x1003f4e8
cmp word [esi], 0xa
jne 0x1003f4e2
cmp word [esi - 2], 0xd
jne 0x1003f4e2
add esi, 0xfffffffe
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jne 0x1003f485
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x1003bf50
inc dword [ebx]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
dec ecx
je case.0x1003bfc6.151
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.10045a28
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 + 0x10052fd8]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003beb0
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x1003f59b
cmp edi, 0xfffffc19
jne 0x1003f5c3
cmp dword [ebx + 0xb0], 0
jne 0x1003f5c3
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.10045a28
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1f
jne 0x1003f5e4
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xb4]
call fcn.10041560
test eax, eax
je 0x1003f761
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push ecx
lea ecx, [edi + eax*2]
push ecx
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push edx
lea edx, [edi + ecx*2]
push edx
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push eax
movzx eax, word [edi + 2]
add edx, eax
lea ecx, [edi + edx*2]
push ecx
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 1
je 0x1003f6f4
cmp eax, 0xfffffc19
jne 0x1003f709
cmp dword [ebx + 0xb0], 0
jne 0x1003f709
mov edx, dword [ebp - 0xb4]
mov dword [ebx + 0xb0], edx
test eax, eax
jne 0x100407df
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
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.10045a28
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 + 0x10052fd8]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 + 0x10052fd8]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 1
je 0x1003f889
cmp eax, 0xfffffc19
jne 0x1003f80e
cmp dword [ebx + 0xb0], 0
jne 0x1003f80e
lea ecx, [edi + 4]
mov dword [ebx + 0xb0], ecx
jmp 0x1003f80e
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 0x1003f911
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 + 0x10052fd8]
push eax
lea eax, [edi + edx*2]
push eax
push esi
call fcn.1003beb0
add esp, 0x1c
cmp eax, 0xfffffc1b
je 0x1003f9b0
cmp eax, 0xfffffc20
jne 0x1003f978
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x100407df
cmp word [edi], 0x71
je 0x1003f974
cmp word [ecx], 0x71
jne 0x100407df
xor eax, eax
jmp 0x1003f980
test eax, eax
jne 0x100407df
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 0x1003f9b0
mov eax, dword [ebp - 0xb4]
jmp 0x1003f900
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.10045a28
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffc1b
jne 0x100407df
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x1003fa27
cmp edx, 0x71
jne 0x1003fa1e
mov edi, edi
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x1003fa10
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x100407df
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa4]
cmp esi, ecx
jne 0x1003fac0
cmp eax, 0x99
je 0x1003fac0
cmp dword [ebx + 0xa8], 0
jne 0x1003fac0
cmp dword [ebx + 0x60], 0
jne case.0x1003bfc6.151
cmp dword [ebx + 0x64], 0
je 0x1003fac0
mov edx, dword [ebx + 0x98]
mov edi, dword [ebx + 0x78]
lea edx, [edi + edx*2]
cmp ecx, edx
je case.0x1003bfc6.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.10045a28
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.10045a28
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.10045a28
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0x84]
cmp ecx, edx
je 0x100407df
push ecx
call dword [0x10065744]
mov eax, dword [ebp - 0xb8]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.10045a28
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.10045a28
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.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
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.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
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.10045a28
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003bfc6.151
jmp 0x1003d2a5
cmp eax, 0xfffffffe
jne 0x1003fd1c
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003bfc6.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003bfc6.151
jmp 0x1003d2a5
cmp eax, 0xfffffffe
jne 0x1003fd4c
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003bfc6.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003bfc6.151
jmp 0x1003d2a5
mov dword [ebp - 0x94], esi
mov edi, edx
cmp edx, eax
jge 0x1003fdf0
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.1003bde0
add esp, 8
test eax, eax
js 0x1003fdb8
inc edi
lea esi, [esi + eax*2]
cmp edi, dword [ebp - 0xa8]
jl 0x1003fd80
mov dword [ebp - 0x88], esi
jmp 0x1003fde8
mov dword [ebp - 0x88], esi
cmp eax, 0xfffffffe
jne 0x1003fde8
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x1003fde8
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x88]
jbe 0x1003fde8
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
cmp esi, dword [ebp - 0x94]
jb 0x1003fe3c
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov eax, dword [ebp - 0xb4]
neg eax
lea esi, [esi + eax*2]
cmp esi, dword [ebp - 0x94]
jae 0x1003fdfc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x1003fe57
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x8c]
test eax, eax
je case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jb case.0x1003bfc6.151
cmp esi, dword [ebx + 0x88]
jbe case.0x1003bfc6.151
jmp 0x1003d2a5
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.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x1003dcf0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x94], esi
mov edx, ecx
cmp ecx, dword [ebp - 0xa8]
jge 0x1003ff1e
cmp esi, dword [ebx + 0x7c]
jae 0x1003ffb0
movzx edi, word [esi]
cmp edi, 0xff
jbe 0x1003ff75
cmp eax, 0x6a
jne 0x1003ff9b
mov dword [ebp - 0x88], esi
cmp esi, dword [ebp - 0x94]
jb 0x1003ff62
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
sub esi, 2
cmp esi, dword [ebp - 0x94]
jae 0x1003ff2a
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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 0x1003ff10
mov eax, dword [ebp - 0xb4]
inc edx
add esi, 2
cmp edx, dword [ebp - 0xa8]
jl 0x1003fef3
jmp 0x1003ff10
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x88], esi
test eax, eax
je 0x1003ff16
cmp esi, dword [ebx + 0x88]
jbe 0x1003ff16
mov dword [ebx + 0x68], 1
cmp eax, 1
jle 0x1003ff16
jmp 0x1003d2b5
mov esi, dword [ebp - 0x88]
cmp dword [ebp - 0x8c], edi
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
mov eax, dword [ebp - 0x88]
movzx esi, word [eax]
mov edx, dword [ebp - 0xac]
add eax, 2
mov dword [ebp - 0x88], eax
call fcn.10041760
test eax, eax
je case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x1003fff0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x8c], eax
cmp eax, edi
jge 0x100400eb
lea esp, [esp]
mov ecx, dword [ebp - 0x88]
cmp ecx, dword [ebx + 0x7c]
jae 0x100400c9
mov edx, dword [ebp - 0xac]
mov eax, ecx
movzx esi, word [eax]
call fcn.10041760
test eax, eax
je 0x100400eb
mov eax, dword [ebp - 0x8c]
add dword [ebp - 0x88], 2
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, edi
jl 0x10040090
jmp 0x100400eb
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x100400eb
cmp ecx, dword [ebx + 0x88]
jbe 0x100400eb
mov dword [ebx + 0x68], 1
cmp eax, 1
jg 0x1003d2b5
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov edx, esi
sub esi, 2
cmp edx, dword [ebp - 0x94]
je case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x10040124
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
lea esp, [esp]
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
cmp dword [ebp - 0x9c], eax
je 0x100401d2
cmp dword [ebp - 0xa0], eax
jne case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x100401a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x9c], eax
jne case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x10040242
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
lea esp, [esp]
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], eax
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx eax, word [esi]
cmp dword [ebp - 0x9c], eax
je case.0x1003bfc6.151
cmp dword [ebp - 0xa0], eax
je case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x100402e0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
jmp 0x10040390
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], eax
jge case.0x1003bfc6.151
cmp esi, dword [ebx + 0x7c]
jae 0x1003fcf5
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x9c], ecx
je case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x10040390
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.10045a28
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.1003beb0
add esp, 0x1c
test eax, eax
jne 0x100407df
lea esp, [esp]
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0x8c], edx
jge case.0x1003bfc6.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x1003fcf5
cmp dword [ebp - 0xb4], 0xc
jne 0x100404cd
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100404a1
mov ecx, dword [ebp - 0x88]
lea esi, [ebx + 0x1c]
push eax
call fcn.10041630
add esp, 4
test eax, eax
jne case.0x1003bfc6.151
mov edi, dword [ebp - 0x90]
mov esi, ecx
jmp 0x100404cd
mov eax, dword [ebx + 0x1c]
lea ecx, [eax + eax]
sub edx, ecx
cmp esi, edx
ja 0x100404cd
mov dx, word [esi]
cmp dx, word [ebx + 0x34]
jne 0x100404cd
cmp eax, 1
je case.0x1003bfc6.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x1003bfc6.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.0x100404eb.15
jmp dword [ecx*4 + 0x10040a78]
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
je case.0x100404eb.13
cmp esi, dword [ebx + 0x7c]
jb case.0x100404eb.13
cmp dword [ebx + 0x18], 0
jne case.0x100404eb.13
cmp dword [ebx + 0x1c], 2
jne case.0x100404eb.13
movzx edx, word [ebx + 0x34]
cmp eax, edx
jne case.0x100404eb.13
mov dword [ebx + 0x68], 1
cmp ecx, 1
jg 0x1003d2b5
jmp case.0x100404eb.13
cmp eax, 0xd
ja 0x1004057a
je 0x10040559
cmp eax, 0xa
je case.0x100404eb.13
jbe case.0x1003bfc6.151
cmp eax, 0xc
jmp 0x10040591
cmp esi, dword [ebx + 0x7c]
jae case.0x100404eb.13
cmp word [esi], 0xa
jne case.0x100404eb.13
add esi, 2
mov dword [ebp - 0x88], esi
jmp case.0x100404eb.13
cmp eax, 0x85
je 0x10040597
cmp eax, 0x2027
jbe case.0x1003bfc6.151
cmp eax, 0x2029
ja case.0x1003bfc6.151
cmp dword [ebx + 0x6c], 0
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x180e
ja 0x100405db
je case.0x1003bfc6.151
cmp eax, 0xa0
ja 0x100405d1
je case.0x1003bfc6.151
cmp eax, 9
je case.0x1003bfc6.151
cmp eax, 0x20
jmp 0x10040790
cmp eax, 0x1680
jmp 0x10040790
cmp eax, 0x205f
ja 0x10040608
je case.0x1003bfc6.151
cmp eax, 0x2000
jb case.0x100404eb.13
cmp eax, 0x200a
jbe case.0x1003bfc6.151
cmp eax, 0x202f
jmp 0x10040790
cmp eax, 0x3000
jmp 0x10040790
cmp eax, 0x180e
ja 0x10040653
je case.0x100404eb.13
cmp eax, 0xa0
ja 0x10040643
je case.0x100404eb.13
cmp eax, 9
je case.0x100404eb.13
cmp eax, 0x20
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x1680
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x205f
ja 0x10040686
je case.0x100404eb.13
cmp eax, 0x2000
jb case.0x1003bfc6.151
cmp eax, 0x200a
jbe case.0x100404eb.13
cmp eax, 0x202f
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x3000
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x85
ja 0x100406ba
je case.0x1003bfc6.151
cmp eax, 0xa
jb case.0x100404eb.13
cmp eax, 0xd
jbe case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x2028
jb case.0x100404eb.13
cmp eax, 0x2029
jbe case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x85
ja 0x100406f9
je case.0x100404eb.13
cmp eax, 0xa
jb case.0x1003bfc6.151
cmp eax, 0xd
ja case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0x2028
jb case.0x1003bfc6.151
cmp eax, 0x2029
ja case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0xff
ja case.0x100404eb.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 4
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 4
jmp 0x10040790
cmp eax, 0xff
ja case.0x100404eb.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 1
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 1
jmp 0x10040790
cmp eax, 0xff
ja case.0x100404eb.13
mov ecx, dword [ebx + 0x44]
test byte [eax + ecx], 0x10
jne case.0x1003bfc6.151
jmp case.0x100404eb.13
cmp eax, 0xff
ja case.0x1003bfc6.151
mov edx, dword [ebx + 0x44]
test byte [eax + edx], 0x10
je case.0x1003bfc6.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.1003beb0
add esp, 0x1c
test eax, eax
je 0x10040450
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10045a28
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.10045a28
mov esp, ebp
pop ebp
ret