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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, edx
jbe 0x1005fd97
and dword [ecx], 0
jmp 0x100614ef
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
mov ebp, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov dword [esp], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], ecx
dec ecx
mov dword [esp + 0x20], eax
cmp ecx, 2
jb 0x1005fde3
cmp byte [ebx + 0x268], 3
lea eax, [ebx + 0x260]
mov ecx, 0x1011c79c
cmovne ecx, eax
cmp byte [ecx + 8], 2
mov dword [esp + 0x10], ecx
jne 0x1005fea2
cmp byte [edi + 0x18], 0
je 0x1005fe48
add ebx, 0x200
push 0x1011e9e0
push ebx
call fcn.100598df
pop ecx
pop edx
test esi, esi
je 0x1005ff2a
test al, al
jne 0x1005ff2a
mov eax, edi
lea edi, [esi - 1]
mov ecx, dword [eax + 0xc]
cmp edi, ecx
mov dword [esp + 0x10], ecx
jae 0x100617f5
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
movzx eax, byte [eax + edi]
mov ebp, eax
push eax
push ebx
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x1005ff45
mov eax, ebp
movzx eax, al
jmp 0x10060283
add ebx, 0x200
push 0x1011e9e0
push ebx
call fcn.100598df
pop ecx
pop edx
test esi, esi
je 0x1005ff35
test al, al
jne 0x1005ff35
mov eax, dword [edi + 0xc]
lea ebp, [esi - 1]
cmp ebp, eax
mov dword [esp + 0x10], eax
jae 0x1006180c
mov edi, dword [edi + 8]
movzx eax, byte [edi + ebp]
mov esi, eax
push eax
push ebx
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x100603b8
mov eax, esi
movzx eax, al
push ebp
jmp 0x10060284
mov al, byte [edi + 0x18]
test al, al
mov byte [esp + 0x54], al
je 0x10060214
mov eax, dword [ebx + 0x280]
movzx eax, word [eax + 0x152]
mov word [esp + 0x60], ax
lea eax, [ebx + 0x200]
push 0x1011e9e0
mov dword [esp + 0x2c], eax
push eax
call fcn.100598df
pop ecx
pop edx
test esi, esi
je 0x1006028f
test al, al
jne 0x1006028f
mov ecx, edi
lea edi, [esi - 1]
mov eax, dword [ecx + 0xc]
cmp edi, eax
mov dword [esp + 8], eax
jae 0x10061827
mov eax, dword [ecx + 8]
movzx ebx, byte [eax + edi]
mov dword [esp + 0xc], eax
push ebx
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
jne 0x10060280
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
jmp 0x10060298
mov eax, dword [edi + 8]
mov ebp, dword [edi + 0xc]
lea edi, [esi - 1]
jmp 0x1005ff4d
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
lea ebp, [esi - 1]
mov edi, eax
jmp 0x100603c0
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x98]
mov dword [esp + 8], eax
lea ecx, [eax + edi]
xor eax, eax
cmp ebp, edi
mov dword [esp + 0x10], ebp
cmova eax, ecx
test esi, esi
mov cl, 2
je 0x1005ff7a
test eax, eax
je 0x1005ff7a
movzx eax, byte [eax]
mov cl, byte [ebx + eax + 0x100]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 8]
movzx edx, cl
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1005ffaa
cmp eax, 1
jne 0x10060161
mov byte [esp + 4], cl
add edx, 6
jmp 0x1005ffae
mov byte [esp + 4], cl
mov eax, dword [esp + 0x9c]
lea ecx, [eax + 0x80]
push 0x1011c704
call fcn.10010ca6
pop ecx
mov edi, dword [eax]
test edi, edi
js 0x1006095e
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e15e
mov edx, dword [esp]
cmp esi, edx
jae 0x1006019f
cmp edi, 0x7ffffff
jbe 0x10060031
mov ebx, dword [esp + 0x9c]
mov edx, esi
mov ecx, ebx
call fcn.1005e19c
cmp esi, dword [esp + 0x10]
jae 0x1006175f
movzx eax, byte [ebp + esi]
mov ecx, dword [esp + 0x98]
mov edx, ebx
push eax
push edi
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x1006067d
mov edi, edx
jmp 0x10060140
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x78]
cmp esi, edx
jae 0x1006015b
movzx ecx, byte [ebp + esi]
movzx ecx, byte [ebx + ecx]
add ecx, edi
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100600c9
lea ebx, [esi + 3]
cmp ebx, edx
jae 0x100600c9
mov dword [esp + 4], ebx
movzx edx, byte [ebp + esi + 1]
mov ebx, ebp
mov ebp, esi
mov esi, dword [esp + 0x98]
movzx edx, byte [esi + edx]
add edx, ecx
mov edi, dword [eax + edx*4]
cmp edi, 0x7ffffff
ja 0x100600d3
movzx ecx, byte [ebx + ebp + 2]
movzx ecx, byte [esi + ecx]
add ecx, edi
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100600d8
movzx edx, byte [ebx + ebp + 3]
movzx edx, byte [esi + edx]
add edx, ecx
mov edi, dword [eax + edx*4]
cmp edi, 0x7ffffff
ja 0x100600ea
add ebp, 4
mov edx, dword [esp]
mov ebx, dword [esp + 0x98]
mov esi, ebp
mov ebp, dword [esp + 8]
jmp 0x1006003b
mov eax, edi
mov dword [esp + 4], esi
mov edi, ecx
jmp 0x100600f3
inc ebp
mov eax, ecx
jmp 0x100600df
add ebp, 2
mov eax, edi
mov edi, ecx
mov dword [esp + 4], ebp
mov edx, dword [esp]
mov ebp, ebx
jmp 0x100600f3
mov edx, dword [esp]
mov ebp, dword [esp + 8]
mov eax, ecx
test edi, edi
js 0x100600fd
mov esi, dword [esp + 4]
jmp 0x10060143
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 4]
mov edi, eax
mov ecx, esi
mov edx, ebx
call fcn.1005e19c
cmp ebx, dword [esp + 0x10]
jae 0x100617cb
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp + 0x98]
mov edx, esi
push eax
push edi
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100601cc
mov edi, edx
mov esi, ebx
mov edx, dword [esp]
mov ebx, dword [esp + 0x98]
cmp edi, 0x8000000
jb 0x1006015b
mov eax, edi
and eax, 0x10000000
je 0x100601d2
inc esi
jmp 0x1005ffe1
mov al, byte [ebx + 0x26d]
cmp al, 2
je 0x100603fe
and al, 1
je 0x100603fe
mov byte [esp + 4], cl
mov eax, dword [ebx + 0x280]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x148]
jae 0x1006078b
mov eax, ecx
imul eax, ecx, 6
lea edx, [eax + edx + 0xc]
jmp 0x1005ffae
cmp edx, dword [esp + 0x10]
jae 0x10060407
movzx esi, byte [ebp + edx]
mov ebp, dword [esp + 0x9c]
mov ecx, ebx
mov ebx, edx
mov edx, ebp
push esi
push edi
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
je 0x100608cb
push ebx
jmp 0x100614d9
bt edi, 0x1b
jb 0x100606db
bt edi, 0x1e
jb 0x10060f81
bt edi, 0x1d
jae 0x1006186e
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x1006184d
movzx eax, byte [ebp + esi]
jmp 0x10060785
mov eax, dword [ebx + 0x280]
movzx eax, word [eax + 0x152]
mov word [esp + 0x14], ax
lea eax, [ebx + 0x200]
push 0x1011e9e0
mov dword [esp + 0x2c], eax
push eax
call fcn.100598df
pop ecx
pop edx
test esi, esi
je 0x10060713
test al, al
jne 0x10060713
mov ecx, edi
lea edi, [esi - 1]
mov eax, dword [ecx + 0xc]
cmp edi, eax
mov dword [esp + 0xc], eax
jae 0x10061839
mov eax, dword [ecx + 8]
movzx ebx, byte [eax + edi]
mov dword [esp + 4], eax
push ebx
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x1006079d
movzx eax, bl
push edi
push eax
call fcn.10082733
jmp 0x1006074c
mov ebx, dword [edi + 8]
mov edx, dword [edi + 0xc]
lea edi, [esi - 1]
xor ecx, ecx
lea eax, [ebx + edi]
cmp edx, edi
mov dword [esp + 8], edx
cmova ecx, eax
test esi, esi
mov al, 2
je 0x100602c1
test ecx, ecx
je 0x100602c1
movzx eax, byte [ecx]
mov edx, dword [esp + 0x98]
mov al, byte [edx + eax + 0x100]
movzx edi, al
lea ecx, [ebp + 0x80]
mov dword [esp + 0x4c], ecx
mov edx, edi
push 0x1011c704
call fcn.10010ca6
pop ecx
mov eax, dword [eax]
test eax, eax
js 0x10060fb8
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x64]
mov dword [esp + 0x14], eax
mov ecx, edi
push dword [esp]
push esi
push dword [esp + 0x10]
push ebx
call fcn.100810a0
add esp, 0x10
cmp dword [edi], 0
je 0x10060faa
cmp word [esp + 0x60], 0
mov edi, dword [esp + 0x68]
je 0x10060b06
mov eax, dword [esp + 8]
mov edx, edi
lea edi, [esp + 0x30]
mov cl, byte [esp + 0x54]
mov dword [edi + 8], ebx
mov dword [esp + 4], edx
mov dword [edi + 0xc], eax
mov eax, dword [esp]
mov dword [edi], esi
mov dword [edi + 4], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov byte [edi + 0x18], cl
mov ecx, edi
call fcn.100825c4
push 0x1011e9e0
push dword [esp + 0x2c]
call fcn.100598df
pop ecx
pop edx
mov ebp, dword [edi]
test al, al
jne 0x10060a38
test ebp, ebp
je 0x10060a36
mov eax, dword [esp + 0x3c]
lea ecx, [ebp - 1]
cmp ecx, eax
jae 0x10061857
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
movzx eax, byte [eax + ecx]
mov dword [esp + 0x50], eax
push eax
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x10060a38
movzx eax, byte [esp + 0x50]
push dword [esp + 0x14]
jmp 0x100608c0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x98]
xor eax, eax
lea ecx, [edi + ebp]
cmp edx, ebp
mov dword [esp + 0x10], edx
mov dl, 2
mov dword [esp + 8], edi
cmova eax, ecx
test esi, esi
je 0x10060435
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x10060444
movzx eax, byte [eax]
mov dl, byte [ebx + eax + 0x100]
jmp 0x10060444
push dword [esp + 0x20]
jmp 0x10060745
mov ebp, dword [esp + 0x9c]
mov ecx, ebx
mov edx, ebp
push edi
call fcn.1005ddb8
pop ecx
test eax, eax
jne 0x1006073b
mov edi, edx
bt edx, 0x1b
jb 0x100608ee
mov edx, dword [esp]
jmp 0x100608ea
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov byte [esp + 4], dl
movzx edx, dl
test ebp, ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
je 0x10060490
cmp ebp, 1
jne 0x10060461
add edx, 6
jmp 0x10060490
mov al, byte [ebx + 0x26d]
cmp al, 2
je 0x10060744
and al, 1
je 0x10060744
mov eax, dword [ebx + 0x280]
cmp edi, dword [eax + 0x148]
jae 0x10060925
imul eax, edi, 6
lea edx, [eax + edx + 0xc]
add ecx, 0x80
push 0x1011c704
call fcn.10010ca6
pop ecx
mov ebp, dword [eax]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 8]
test ebp, ebp
js 0x100609f7
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e15e
mov edx, dword [esp]
mov dword [esp + 0x24], 0
cmp esi, edx
jae 0x10060683
cmp ebp, 0x7ffffff
jbe 0x10060520
mov ebx, dword [esp + 0x9c]
mov edx, esi
mov ecx, ebx
call fcn.1005e19c
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x10061774
movzx eax, byte [edi + esi]
mov ecx, dword [esp + 0x98]
mov edx, ebx
push eax
push ebp
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x1006067d
mov ebp, edx
jmp 0x1006062b
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x78]
cmp esi, edx
jae 0x10060677
movzx ecx, byte [edi + esi]
movzx ecx, byte [ebx + ecx]
add ecx, ebp
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100605b3
lea ebx, [esi + 3]
cmp ebx, edx
jae 0x100605b3
mov dword [esp + 4], ebx
movzx edx, byte [edi + esi + 1]
mov ebx, edi
mov edi, dword [esp + 0x98]
movzx edx, byte [edi + edx]
add edx, ecx
mov ebp, dword [eax + edx*4]
cmp ebp, 0x7ffffff
ja 0x100605bd
movzx ecx, byte [ebx + esi + 2]
movzx ecx, byte [edi + ecx]
add ecx, ebp
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100605c2
movzx edx, byte [ebx + esi + 3]
movzx edx, byte [edi + edx]
add edx, ecx
mov ebp, dword [eax + edx*4]
cmp ebp, 0x7ffffff
ja 0x100605d4
mov edx, dword [esp]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 8]
add esi, 4
jmp 0x1006052a
mov eax, ebp
mov dword [esp + 4], esi
mov ebp, ecx
jmp 0x100605dd
inc esi
mov eax, ecx
jmp 0x100605c9
add esi, 2
mov eax, ebp
mov ebp, ecx
mov dword [esp + 4], esi
mov edx, dword [esp]
mov edi, ebx
jmp 0x100605dd
mov edx, dword [esp]
mov edi, dword [esp + 8]
mov eax, ecx
test ebp, ebp
js 0x100605e7
mov esi, dword [esp + 4]
jmp 0x1006062e
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 4]
mov ebp, eax
mov ecx, esi
mov edx, ebx
call fcn.1005e19c
mov eax, dword [esp + 0x10]
cmp ebx, eax
jae 0x100617d6
movzx eax, byte [edi + ebx]
mov ecx, dword [esp + 0x98]
mov edx, esi
push eax
push ebp
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100601cc
mov ebp, edx
mov esi, ebx
mov edx, dword [esp]
mov ebx, dword [esp + 0x98]
cmp ebp, 0x8000000
jb 0x10060677
mov eax, ebp
and eax, 0x10000000
jne 0x10060677
bt ebp, 0x1b
jae 0x10060753
mov edx, dword [esp + 0x9c]
mov ecx, ebx
push 0
push ebp
call fcn.1005de59
mov edx, dword [esp + 8]
add esp, 8
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x20], esi
inc eax
mov dword [esp + 0x24], eax
inc esi
jmp 0x100604cf
push esi
jmp 0x100614d9
cmp edx, dword [esp + 0x10]
jae 0x10060721
mov ecx, ebx
movzx ebx, byte [edi + edx]
mov edi, dword [esp + 0x9c]
mov eax, edx
mov edx, edi
mov edi, eax
push ebx
push ebp
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100614d8
mov ebp, dword [esp + 0x9c]
mov esi, edx
bt edx, 0x1b
mov eax, edi
jb 0x100609b0
mov edx, edi
mov edi, dword [esp + 0xc]
bt esi, 0x1d
jae 0x100609d7
jmp 0x1006161e
mov ecx, ebx
mov ebx, dword [esp + 0x9c]
mov edx, ebx
push 0
push edi
call fcn.1005de59
pop ecx
pop edx
mov ecx, ebx
mov edx, esi
mov edi, eax
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov dword [ecx], 1
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
jmp 0x100614ef
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
lea edi, [esi - 1]
jmp 0x100607ac
mov edi, dword [esp + 0x9c]
mov ecx, ebx
mov edx, edi
push ebp
call fcn.1005ddb8
pop ecx
test eax, eax
je 0x1006099b
push dword [esp + 0x10]
jmp 0x100614d9
push edi
push 2
call fcn.10082785
pop ecx
pop edx
jmp 0x100614df
bt ebp, 0x1e
jb 0x10060937
bt ebp, 0x1d
jae 0x1006186e
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x1006184d
movzx eax, byte [edi + esi]
push esi
jmp 0x10060284
lea eax, [esp + 0x30]
push eax
call fcn.1005efbc
pop ecx
mov edi, eax
jmp 0x1005ffc8
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov dword [esp + 4], eax
xor ecx, ecx
add eax, edi
cmp edx, edi
mov dword [esp + 0xc], edx
cmova ecx, eax
test esi, esi
mov al, 2
je 0x100607d1
test ecx, ecx
je 0x100607d1
movzx eax, byte [ecx]
mov al, byte [ebx + eax + 0x100]
movzx edi, al
lea ecx, [ebp + 0x80]
mov dword [esp + 0x60], ecx
mov edx, edi
push 0x1011c704
call fcn.10010ca6
pop ecx
mov eax, dword [eax]
test eax, eax
js 0x100615a3
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x64]
mov dword [esp + 8], eax
mov ecx, edi
push dword [esp]
push esi
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.100810a0
add esp, 0x10
cmp dword [edi], 0
je 0x10060faa
cmp word [esp + 0x14], 0
mov ebx, dword [esp + 0x68]
je 0x100610d1
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp]
lea edi, [esp + 0x30]
mov dword [esp + 0x54], ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [edi], esi
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ecx
mov ecx, edi
mov edx, ebx
mov byte [edi + 0x18], 0
call fcn.100825c4
push 0x1011e9e0
push dword [esp + 0x2c]
call fcn.100598df
pop ecx
pop edx
mov ebx, dword [edi]
test al, al
jne 0x1006100b
test ebx, ebx
je 0x10061009
mov eax, dword [esp + 0x3c]
lea ebp, [ebx - 1]
cmp ebp, eax
jae 0x1006181e
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + ebp]
mov dword [esp + 8], eax
push eax
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x1006100b
movzx eax, byte [esp + 8]
push ebp
push eax
call fcn.10082733
jmp 0x10061504
mov edi, edx
bt edx, 0x1b
mov dword [esp + 0x10], ebx
mov edx, ebx
mov ebx, dword [esp + 0x98]
jb 0x100608ee
bt edi, 0x1d
jb 0x10060fff
xor edi, edi
jmp 0x1006090a
mov edx, ebp
mov ecx, ebx
push 0
push edi
call fcn.1005de59
mov edx, dword [esp + 8]
add esp, 8
mov ebx, dword [esp + 0x10]
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebp
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebx
jmp 0x100614ef
lea eax, [esp + 0x30]
push eax
call fcn.1005efbc
pop ecx
mov ebp, eax
jmp 0x100604a3
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x100609ee
movzx edx, byte [esp + 4]
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x30]
lea edi, [esp + 0x64]
mov dword [eax], ebx
mov dword [eax + 4], ecx
push edx
push dword [esp + 0xa4]
push eax
push edi
call fcn.10109588
add esp, 0x10
cmp dword [edi], 0
jne 0x100615d2
mov edi, dword [esp + 0x68]
jmp 0x1005ffd0
mov ebp, edi
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp]
mov edi, dword [esp + 0xc]
jae 0x100609d7
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov edx, ebp
push 0
push esi
mov esi, eax
call fcn.1005de59
mov edx, dword [esp + 8]
add esp, 8
mov edi, eax
xor eax, eax
mov dword [esp + 0x20], esi
inc eax
mov dword [esp + 0x24], eax
mov ecx, ebp
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x20]
jmp 0x100616bb
mov ecx, dword [esp + 0x9c]
movzx ebp, byte [esp + 4]
lea eax, [esp + 0x30]
mov esi, ebx
mov dword [eax], ebx
lea ebx, [esp + 0x64]
mov dword [eax + 4], ecx
push ebp
push edx
push eax
push ebx
call fcn.10109588
add esp, 0x10
cmp dword [ebx], 0
jne 0x100615d2
mov ebx, esi
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x2c]
jmp 0x100604b6
xor ebp, ebp
mov edx, dword [esp + 0x38]
lea ecx, [ebp - 1]
xor eax, eax
add edx, ecx
cmp dword [esp + 0x3c], ecx
cmova eax, edx
cmp ebp, 1
mov dl, 2
jb 0x10060a6f
mov ecx, dword [esp + 0x9c]
test eax, eax
je 0x10060a76
movzx eax, byte [eax]
mov edx, dword [esp + 0x98]
mov dl, byte [edx + eax + 0x100]
jmp 0x10060a76
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov byte [esp + 0x14], dl
movzx edx, dl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x10060ae1
cmp eax, 1
jne 0x10060a9e
add edx, 6
jmp 0x10060ae1
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x44]
mov cl, byte [ecx + 0x26d]
cmp cl, 2
je 0x100614fc
and cl, 1
je 0x100614fc
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0x280]
cmp eax, dword [ecx + 0x148]
jae 0x100615f8
imul eax, eax, 6
lea edx, [edx + eax + 0xc]
mov ecx, dword [esp + 0x4c]
push 0x1011c704
call fcn.10010ca6
pop ecx
mov eax, dword [eax]
mov dl, byte [esp + 0x14]
test eax, eax
js 0x100616d9
mov edi, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x9c]
mov edx, edi
call fcn.1005e15e
mov ebp, dword [esp]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
cmp edi, ebp
jae 0x10060ec4
cmp edx, 0x7ffffff
jbe 0x10060b7a
mov ebp, edi
mov edi, dword [esp + 0x9c]
mov ebx, edx
mov edx, ebp
mov ecx, edi
call fcn.1005e19c
mov eax, dword [esp + 8]
cmp ebp, eax
jae 0x100617de
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov edx, edi
movzx eax, byte [eax + ebp]
push eax
push ebx
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x10060f3a
mov dword [esp + 4], ebp
jmp 0x10060c96
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x78]
cmp edi, ebp
jae 0x10060c12
movzx ecx, byte [ebx + edi]
mov esi, dword [esp + 0x98]
movzx ecx, byte [esi + ecx]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x10060c1f
lea esi, [edi + 3]
cmp esi, ebp
mov dword [esp + 4], esi
jae 0x10060c1f
movzx edx, byte [ebx + edi + 1]
mov ebp, dword [esp + 0x98]
mov esi, edi
mov edi, ebx
movzx edx, byte [ebp + edx]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x10060c29
movzx ecx, byte [edi + esi + 2]
movzx ecx, byte [ebp + ecx]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x10060c2e
movzx edx, byte [edi + esi + 3]
mov ebx, edi
movzx edx, byte [ebp + edx]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x10060c40
mov ebp, dword [esp]
mov edi, esi
add edi, 4
jmp 0x10060b84
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], edi
jmp 0x10060d93
mov eax, edx
mov dword [esp + 4], edi
mov edx, ecx
jmp 0x10060c45
inc esi
mov eax, ecx
jmp 0x10060c35
add esi, 2
mov eax, edx
mov edx, ecx
mov dword [esp + 4], esi
mov ebp, dword [esp]
mov ebx, edi
jmp 0x10060c45
mov ebp, dword [esp]
mov eax, ecx
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x98]
test edx, edx
jns 0x10060ca4
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 4]
mov ebp, eax
mov ecx, ebx
mov edx, edi
call fcn.1005e19c
cmp edi, dword [esp + 8]
jae 0x10061817
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov edx, ebx
movzx eax, byte [eax + edi]
push eax
push ebp
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100614d8
mov ebp, dword [esp]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xc]
cmp edx, 0x7ffffff
jbe 0x10060d93
bt edx, 0x1c
jae 0x10060f40
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov edi, ebx
lea ecx, [esp + 0x64]
push ebp
mov ebp, dword [esp + 8]
push ebp
push dword [esp + 0x10]
push ebx
call fcn.100810a0
add esp, 0x10
cmp dword [esp + 0x64], 0
je 0x10060f9b
mov edi, dword [esp + 0x68]
cmp edi, ebp
jbe 0x10060d8c
cmp word [esp + 0x60], 0
mov ebp, dword [esp]
mov edx, dword [esp + 0x14]
je 0x10060b1f
mov eax, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x20]
mov cl, byte [esp + 0x54]
mov dword [esp + 4], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edx
mov byte [esp + 0x48], cl
lea ecx, [esp + 0x30]
mov edx, edi
call fcn.100825c4
push 0x1011e9e0
push dword [esp + 0x2c]
call fcn.100598df
pop ecx
pop edx
mov edi, dword [esp + 0x30]
test al, al
jne 0x10060d9f
test edi, edi
je 0x10060d9d
mov eax, dword [esp + 0x3c]
lea ebp, [edi - 1]
cmp ebp, eax
jae 0x1006181e
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x14], eax
push eax
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x10060d9f
jmp 0x1006176a
mov ebp, dword [esp]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 4]
inc edi
jmp 0x10060b1f
xor edi, edi
mov eax, dword [esp + 0x38]
lea ecx, [edi - 1]
mov dl, 2
add eax, ecx
cmp dword [esp + 0x3c], ecx
mov ecx, 0
cmovbe eax, ecx
cmp edi, 1
jb 0x10060ddd
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 4]
test eax, eax
je 0x10060de8
movzx eax, byte [eax]
mov edx, dword [esp + 0x98]
mov dl, byte [edx + eax + 0x100]
jmp 0x10060de8
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x98]
mov byte [esp + 4], dl
movzx edx, dl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x10060e4f
cmp eax, 1
jne 0x10060e10
add edx, 6
jmp 0x10060e4f
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x44]
mov cl, byte [ecx + 0x26d]
cmp cl, 2
je 0x100614fc
and cl, 1
je 0x100614fc
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0x280]
cmp eax, dword [ecx + 0x148]
jae 0x10060eb5
imul eax, eax, 6
lea edx, [edx + eax + 0xc]
mov ecx, dword [esp + 0x4c]
push 0x1011c704
call fcn.10010ca6
pop ecx
mov edx, dword [eax]
mov ebp, dword [esp]
test edx, edx
jns 0x10060b1f
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 4]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10109588
add esp, 0x10
cmp dword [esp + 0x58], 0
jne 0x10061756
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp]
jmp 0x10060b1f
lea eax, [esp + 0x18]
push eax
call fcn.1005efbc
pop ecx
mov edx, eax
jmp 0x10060e60
cmp ebp, dword [esp + 8]
mov eax, edx
jae 0x10060f14
mov edx, dword [esp + 0x9c]
movzx ebx, byte [ebx + ebp]
mov ecx, dword [esp + 0x98]
mov edi, ebp
mov ebp, edx
push ebx
push eax
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100614d8
mov esi, edx
bt edx, 0x1b
mov dword [esp + 8], edi
jb 0x10061687
mov edx, edi
bt esi, 0x1d
jb 0x1006161e
jmp 0x100615f1
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push eax
call fcn.1005ddb8
pop ecx
test eax, eax
je 0x100615db
push dword [esp + 8]
jmp 0x100614d9
push ebp
jmp 0x100614d9
bt edx, 0x1b
jb 0x10061567
mov esi, dword [esp + 4]
bt edx, 0x1e
jb 0x10060f81
bt edx, 0x1d
jae 0x100618c0
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
mov eax, dword [esp + 8]
cmp esi, eax
jae 0x1006184d
movzx eax, byte [ebx + esi]
jmp 0x10060785
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
jmp 0x1005fd8f
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp]
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
xor eax, eax
jmp 0x10061513
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
lea eax, [esp + 0x30]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], edx
push edi
push dword [esp + 0xa4]
push eax
push ebx
call fcn.10109588
add esp, 0x10
cmp dword [ebx], 0
jne 0x100615d2
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0xc]
jmp 0x100602e5
mov eax, esi
movzx eax, al
jmp 0x10061621
xor ebx, ebx
mov edx, dword [esp + 0x38]
lea ecx, [ebx - 1]
xor eax, eax
add edx, ecx
cmp dword [esp + 0x3c], ecx
cmova eax, edx
cmp ebx, 1
mov bl, 2
jb 0x10061042
mov ecx, dword [esp + 0x9c]
test eax, eax
je 0x10061049
movzx eax, byte [eax]
mov edx, dword [esp + 0x98]
mov bl, byte [edx + eax + 0x100]
jmp 0x10061049
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
movzx edx, bl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x100610b0
cmp eax, 1
jne 0x1006106d
add edx, 6
jmp 0x100610b0
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x44]
mov cl, byte [ecx + 0x26d]
cmp cl, 2
je 0x100614fc
and cl, 1
je 0x100614fc
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0x280]
cmp eax, dword [ecx + 0x148]
jae 0x100616c9
imul eax, eax, 6
lea edx, [edx + eax + 0xc]
mov ecx, dword [esp + 0x60]
push 0x1011c704
call fcn.10010ca6
pop ecx
mov eax, dword [eax]
test eax, eax
js 0x10061727
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x9c]
mov edx, ebx
call fcn.1005e15e
mov ebp, dword [esp]
mov edx, dword [esp + 8]
mov dword [esp + 0x4c], 0
cmp ebx, ebp
jae 0x1006149f
cmp edx, 0x7ffffff
jbe 0x10061145
mov edi, dword [esp + 0x9c]
mov ebp, edx
mov edx, ebx
mov ecx, edi
call fcn.1005e19c
cmp ebx, dword [esp + 0xc]
jae 0x10061800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov edx, edi
movzx eax, byte [eax + ebx]
push eax
push ebp
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x100601cc
mov dword [esp + 8], ebx
jmp 0x1006124c
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x78]
cmp ebx, ebp
jae 0x10061499
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x98]
movzx ecx, byte [ecx + ebx]
movzx ecx, byte [edi + ecx]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100611fe
lea edi, [ebx + 3]
mov dword [esp + 8], edi
cmp edi, ebp
mov edi, ebx
jae 0x10061200
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0x98]
movzx edx, byte [ebx + edi + 1]
movzx edx, byte [ebp + edx]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x100611e5
movzx ecx, byte [ebx + edi + 2]
movzx ecx, byte [ebp + ecx]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x100611ea
movzx edx, byte [ebx + edi + 3]
movzx edx, byte [ebp + edx]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x100611f7
mov ebp, dword [esp]
mov ebx, edi
add ebx, 4
jmp 0x1006114f
inc edi
mov ebx, ecx
jmp 0x100611f1
add edi, 2
mov ebx, edx
mov edx, ecx
mov dword [esp + 8], edi
jmp 0x100611f9
mov ebx, ecx
mov ebp, dword [esp]
jmp 0x10061208
mov edi, ebx
mov ebx, edx
mov dword [esp + 8], edi
mov edx, ecx
test edx, edx
jns 0x1006124f
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 8]
mov ecx, ebp
mov edx, edi
call fcn.1005e19c
cmp edi, dword [esp + 0xc]
jae 0x10061832
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov edx, ebp
movzx eax, byte [eax + edi]
push eax
push ebx
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
jne 0x10060f31
mov ebp, dword [esp]
mov ecx, dword [esp + 0x98]
cmp edx, 0x7ffffff
jbe 0x10061453
bt edx, 0x1c
jae 0x10061459
mov edi, edx
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x64]
push ebp
mov ebp, dword [esp + 0xc]
push ebp
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.100810a0
add esp, 0x10
cmp dword [esp + 0x64], 0
je 0x10061517
mov ebx, dword [esp + 0x68]
cmp ebx, ebp
jbe 0x10061492
cmp word [esp + 0x14], 0
mov ebp, dword [esp]
mov edx, edi
je 0x100610ee
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], edx
mov edx, ebx
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x48], 0
call fcn.100825c4
push 0x1011e9e0
push dword [esp + 0x2c]
call fcn.100598df
pop ecx
pop edx
mov edi, dword [esp + 0x30]
test al, al
mov dword [esp + 0x54], ebx
jne 0x1006133a
test edi, edi
je 0x10061338
mov eax, dword [esp + 0x3c]
lea ebp, [edi - 1]
cmp ebp, eax
jae 0x1006181e
mov eax, dword [esp + 0x38]
movzx ebx, byte [eax + ebp]
push ebx
push dword [esp + 0x2c]
call fcn.1007d8c3
pop ecx
pop edx
test al, al
je 0x1006133a
jmp 0x10061712
xor edi, edi
mov eax, dword [esp + 0x38]
lea ecx, [edi - 1]
mov bl, 2
add eax, ecx
cmp dword [esp + 0x3c], ecx
mov ecx, 0
cmovbe eax, ecx
cmp edi, 1
jb 0x10061374
mov ecx, dword [esp + 0x9c]
test eax, eax
je 0x1006137b
movzx eax, byte [eax]
mov edx, dword [esp + 0x98]
mov bl, byte [edx + eax + 0x100]
jmp 0x1006137b
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
movzx edx, bl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x100613de
cmp eax, 1
jne 0x1006139f
add edx, 6
jmp 0x100613de
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x44]
mov cl, byte [ecx + 0x26d]
cmp cl, 2
je 0x100616c3
and cl, 1
je 0x100616c3
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0x280]
cmp eax, dword [ecx + 0x148]
jae 0x100613ff
imul eax, eax, 6
lea edx, [edx + eax + 0xc]
mov ecx, dword [esp + 0x60]
push 0x1011c704
call fcn.10010ca6
pop ecx
mov edx, dword [eax]
mov ebp, dword [esp]
test edx, edx
js 0x1006140e
mov ebx, dword [esp + 0x54]
jmp 0x100610ee
lea eax, [esp + 0x18]
push eax
call fcn.1005efbc
pop ecx
mov edx, eax
jmp 0x100613ef
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
movzx eax, bl
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10109588
add esp, 0x10
cmp dword [esp + 0x58], 0
jne 0x10061789
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp]
jmp 0x100613f6
mov ebx, dword [esp + 8]
jmp 0x10061499
bt edx, 0x1b
jae 0x10061792
mov edi, edx
mov edx, dword [esp + 0x9c]
push 0
push edi
call fcn.1005de59
mov ebp, dword [esp + 8]
mov edx, edi
add esp, 8
mov ebx, dword [esp + 8]
mov dword [esp + 0x7c], eax
xor eax, eax
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
jmp 0x10061499
mov ebx, ebp
mov ebp, dword [esp]
mov edx, edi
inc ebx
jmp 0x100610ee
cmp ebp, dword [esp + 0xc]
mov esi, edx
jae 0x1006153f
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov edi, ebp
movzx ebx, byte [eax + ebp]
mov eax, dword [esp + 0x9c]
mov ebp, eax
mov edx, eax
push ebx
push esi
call fcn.1005dd61
pop ecx
pop ecx
test eax, eax
je 0x10061608
push edi
call fcn.10082753
pop ecx
mov ecx, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov dword [ecx], 2
mov eax, ecx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 2
call fcn.10082785
pop ecx
pop edx
mov ecx, dword [esp + 0x94]
mov dword [ecx + 4], eax
push 2
pop eax
mov dword [ecx], eax
jmp 0x100614ef
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp]
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x1006167a
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, edi
push esi
call fcn.1005ddb8
pop ecx
test eax, eax
je 0x10061627
push dword [esp + 0xc]
jmp 0x100614d9
mov ebx, dword [esp + 0x9c]
mov eax, edx
mov edx, ebx
push 0
push eax
call fcn.1005de59
pop ecx
pop edx
mov edi, dword [esp + 4]
mov ecx, ebx
mov esi, eax
mov edx, edi
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov dword [ecx], 1
mov dword [ecx + 4], esi
mov dword [ecx + 8], edi
jmp 0x100614ef
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x30]
mov dword [eax], ebx
lea ebx, [esp + 0x64]
mov dword [eax + 4], ecx
push edi
push dword [esp + 0xa4]
push eax
push ebx
call fcn.10109588
add esp, 0x10
cmp dword [ebx], 0
je 0x1006171a
mov eax, dword [esp + 0x68]
jmp 0x100614df
mov esi, edx
bt edx, 0x1b
jb 0x10061680
mov ebp, dword [esp + 0x9c]
mov edx, dword [esp]
xor edi, edi
jmp 0x100616a4
lea eax, [esp + 0x18]
push eax
call fcn.1005efbc
pop ecx
jmp 0x10060af2
mov esi, edx
bt edx, 0x1b
mov eax, edi
jb 0x1006163c
mov edx, edi
mov edi, dword [esp + 0x7c]
bt esi, 0x1d
jae 0x10061663
movzx eax, bl
push edx
jmp 0x10060284
mov ebp, edi
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp]
mov edi, dword [esp + 0x7c]
jae 0x10061663
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov edx, ebp
push 0
push esi
mov esi, eax
call fcn.1005de59
mov edx, dword [esp + 8]
add esp, 8
mov edi, eax
xor eax, eax
mov dword [esp + 0x50], esi
inc eax
mov dword [esp + 0x4c], eax
mov ecx, ebp
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x50]
jmp 0x100616bb
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, ebp
push 0
push esi
call fcn.1005de59
mov edx, dword [esp + 8]
add esp, 8
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebp
call fcn.1005e1c2
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 8]
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
jmp 0x100614ef
push eax
jmp 0x10060745
lea eax, [esp + 0x18]
push eax
call fcn.1005efbc
pop ecx
jmp 0x100610c1
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x18]
lea ebp, [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
movzx ecx, dl
push ecx
push edi
push eax
push ebp
call fcn.10109588
add esp, 0x10
cmp dword [ebp], 0
jne 0x10061756
mov eax, dword [esp + 0x5c]
jmp 0x10060afe
movzx eax, bl
jmp 0x1005fe9c
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x2c]
jmp 0x100607f5
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
movzx ecx, bl
lea ebx, [esp + 0x58]
push ecx
push edi
push eax
push ebx
call fcn.10109588
add esp, 0x10
cmp dword [ebx], 0
je 0x10061780
mov eax, dword [esp + 0x5c]
jmp 0x10061506
push 0x1011c990
push dword [esp + 0x14]
jmp 0x1006177a
movzx eax, byte [esp + 0x14]
jmp 0x100608bf
push 0x1011c990
push eax
push esi
jmp 0x10061843
mov eax, dword [esp + 0x5c]
jmp 0x100610c9
mov eax, dword [esp + 0x5c]
jmp 0x100614df
bt edx, 0x1e
jb 0x100617e5
bt edx, 0x1d
jae 0x100618c0
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x9c]
mov edx, esi
call fcn.1005e1c2
cmp esi, dword [esp + 0xc]
jae 0x10061860
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
jmp 0x10060785
push 0x1011c9a0
push dword [esp + 0x14]
jmp 0x10061809
push 0x1011c9a0
push eax
jmp 0x10061809
push 0x1011c990
jmp 0x10061823
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 8]
jmp 0x10061521
push 0x1011c41c
push dword [esp + 0x14]
jmp 0x10061842
push 0x1011c990
push dword [esp + 0x10]
push ebx
jmp 0x10061843
push 0x1011c41c
push dword [esp + 0x14]
jmp 0x10061824
push 0x1011c9a0
jmp 0x1006182c
push 0x1011c41c
push eax
push ebp
jmp 0x10061843
push 0x1011c41c
push dword [esp + 0xc]
jmp 0x10061842
push 0x1011c9a0
jmp 0x1006183e
push 0x1011c41c
push dword [esp + 0x10]
push edi
call fcn.1010c7f0
add esp, 0xc
ud2
push 0x1011c9b0
jmp 0x10061779
push 0x1011c41c
push eax
push ecx
jmp 0x10061843
push 0x1011c9b0
push dword [esp + 0x10]
jmp 0x1006177a
xor ecx, ecx
lea eax, [esp + 0x30]
lea edx, [esp + 0x18]
inc ecx
mov dword [eax + 8], 0x1011ca10
mov dword [edx], eax
mov dword [edx + 4], fcn.100f2650
mov dword [eax + 0xc], ecx
and dword [eax], 0
mov dword [eax + 0x10], 0x1011abec
and dword [eax + 0x14], 0
lea eax, [esp + 0x64]
mov dword [eax + 8], 0x1011c9ec
mov dword [eax + 0xc], ecx
and dword [eax], 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
push 0x1011ca18
push eax
call fcn.1010c690
pop eax
pop ecx
ud2
xor eax, eax
mov dword [esp + 0x38], 0x1011ca10
mov dword [esp + 0x6c], 0x1011c9ec
lea ecx, [esp + 0x30]
inc eax
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], fcn.100f2650
mov dword [esp + 0x3c], eax
and dword [esp + 0x30], 0
mov dword [esp + 0x40], 0x1011abec
mov dword [esp + 0x70], eax
and dword [esp + 0x64], 0
and dword [esp + 0x44], 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
push 0x1011ca18
lea eax, [esp + 0x68]
jmp 0x100618b6