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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xbc
mov ebx, ecx
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 0x1c]
test al, al
mov dword [ebp - 0x30], edx
js 0x1005583f
mov edi, edx
mov dword [ebp - 0x78], 0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x90], ecx
mov cl, byte [ebp + 0x20]
mov byte [ebp - 0x55], cl
bt eax, 0xb
mov eax, dword [ebx]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], eax
jb 0x1005544e
mov ecx, edi
mov edx, ebx
mov edi, dword [ebp + 0x30]
mov esi, dword [ecx + 0x10]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x3c], 0
test esi, esi
jne 0x1005667a
mov esi, ecx
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x50], ecx
mov cl, 1
mov dword [ebp - 0x44], ecx
test edi, edi
jne 0x1005607f
xor edi, edi
mov ebx, edx
mov edx, esi
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x88], 0
test eax, 0x6000
mov dword [ebp - 0x60], edi
je 0x1005586b
bt eax, 0xd
jb 0x10055799
mov eax, dword [ebx]
mov dword [ebp - 0x7c], 0
test byte [eax + 0x21], 0x40
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x64], 0
je 0x10054e69
cmp byte [edx + 0x2b], 0
jne 0x1005586b
mov eax, dword [edx]
mov esi, dword [edx + 0x3c]
mov edi, dword [esi + 0x44]
test edi, edi
mov dword [ebp - 0x38], eax
jne 0x10056025
lea eax, [esi + 0x40]
add esi, 0x3c
mov esi, dword [esi]
mov edi, 0x101f4340
test esi, esi
je 0x10054df5
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor ebx, ebx
movzx edx, byte [edi + ebx]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ecx + ebx]
cmp dl, cl
jne 0x10054dd9
test edx, edx
je 0x1005585e
inc ebx
jmp 0x10054dbf
mov dl, byte [edx + 0x101b1828]
cmp dl, byte [ecx + 0x101b1828]
je 0x10054dd6
dec esi
jne 0x10054db8
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov edi, 0x101f4340
cmp dword [edi + 8], 0
jne 0x100558bb
mov dword [ebp - 0x7c], 0
cmp dword [edx + 0x30], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x64], 0
je 0x10054e69
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebx + 0x2c]
inc esi
mov edi, ebx
mov dword [ebx + 0x2c], esi
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
mov dword [ebp - 0x64], esi
jle 0x10056179
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x47
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ebx, edi
mov eax, dword [edi + 0x38]
dec eax
mov dword [ebp - 0x54], eax
mov dword [edi + 0x38], eax
mov edx, dword [ebp - 0x30]
mov esi, edx
cmp byte [ebp + 0x1c], 0
je 0x10055010
mov edi, 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x78], 0
mov edx, dword [ebp - 0x44]
jne 0x10055041
mov ecx, dword [ebx + 0x38]
mov eax, ebx
mov dword [ebp - 0x38], ecx
lea ebx, [ecx - 1]
mov dword [eax + 0x38], ebx
mov cl, byte [ebp - 0x55]
mov eax, ecx
cmp cl, 0xb
mov edx, esi
jne 0x10054edc
movzx ecx, byte [edx + 0x2a]
cmp cl, 0xb
mov eax, 2
cmovne eax, ecx
movzx edi, al
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0x60], 0
jne 0x10056bc9
mov dword [ebp - 0x9c], 0
xor esi, esi
cmp edi, 5
mov dword [ebp - 0x94], esi
jne 0x10054f11
cmp byte [ebp - 0x55], 5
jne 0x10056e08
cmp dword [ebp + 0x18], 0
jne 0x10056bf1
mov esi, dword [ebp - 0x34]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10056517
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x1f
mov esi, dword [ebp + 0xc]
mov dword [ecx + eax*4 + 4], esi
mov dword [ecx + eax*4 + 8], ebx
mov esi, dword [ebp + 0x14]
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
lea eax, [edi - 1]
cmp eax, 3
jae 0x1005626c
movzx eax, word [edx + 0x20]
test ax, ax
js 0x10056c9a
mov ecx, dword [edx + 4]
shl eax, 4
mov ebx, 0x613
push dword [ecx + eax]
push dword [edx]
push 0x101cc859
mov esi, dword [ebp - 0x40]
push dword [esi]
call fcn.10027ad0
add esp, 0x10
mov ecx, esi
mov edx, ebx
push 2
push 0xfffffffffffffffa
push eax
push edi
call fcn.10057460
add esp, 0x10
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x60]
mov ecx, dword [edx + 0xc]
mov esi, dword [ebp - 0x38]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x100562c6
push esi
call fcn.100329e0
add esp, 4
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
test edi, edi
mov edx, dword [ebp - 0x44]
je 0x10054ff1
cmp dword [ebp - 0x94], edi
jne 0x10056e43
xor edi, edi
cmp dword [ebp - 0x6c], 0
jne 0x10056c2d
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xa0], 0
jmp 0x10055041
xor edi, edi
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xc8], edi
test dl, dl
je 0x100560f1
xor edi, edi
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x100556f2
mov ecx, eax
lea eax, [ebx + 0x20]
mov dword [ebp - 0xc4], eax
mov eax, ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + edi*4], 0
jne 0x100550a2
test dl, dl
je 0x10056066
inc edi
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x50], ecx
mov eax, ecx
test eax, eax
jne 0x1005507c
jmp 0x100556fb
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x60]
test eax, eax
mov edx, dword [ebp - 0x34]
jne 0x10056f89
mov ebx, edi
mov eax, dword [ebp + 0x14]
lea edi, [eax + 1]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xac], eax
dec eax
mov dword [ebp - 0x98], eax
mov dword [ecx + 0x38], eax
cmp byte [ebp - 0x3c], 0
jne 0x100550ec
mov ecx, edx
mov esi, edx
mov edx, dword [ebp - 0x30]
push edi
call fcn.10057000
mov edx, esi
mov esi, dword [ebp - 0x30]
add esp, 4
mov dword [ebp - 0x48], edi
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x24], 0
mov edi, ebx
mov ebx, dword [ebp - 0x40]
jne 0x10055ee5
mov dword [ebp - 0x74], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0xa8], eax
inc eax
mov dword [ebp - 0x3c], eax
xor edi, edi
cmp word [ecx + 0x34], 0
je 0x10055410
mov eax, ecx
mov eax, dword [eax + 4]
movzx eax, word [eax + edi*2]
cmp eax, 0xffff
je 0x100551b6
cmp eax, 0xfffe
je 0x10056645
cmp ax, word [esi + 0x20]
je 0x100551b6
test ax, ax
jns 0x10055150
mov ecx, dword [ebp - 0x48]
jmp 0x1005515f
mov ecx, dword [esi + 0x1c]
and ecx, 0x20
mov ecx, dword [ebp - 0x48]
jne 0x10056865
cwde
add eax, ecx
mov ecx, dword [ebp - 0x3c]
lea esi, [edi + ecx]
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x10055203
lea edx, [ecx + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x51
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], esi
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov edx, ebx
mov ebx, dword [ebp - 0x40]
inc edi
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax + 0x34]
cmp edi, ecx
mov esi, dword [ebp - 0x30]
jb 0x10055123
jmp 0x10055218
mov eax, dword [ebp - 0x3c]
add eax, edi
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100561fe
mov esi, edx
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x52
mov dword [ebp - 0x5c], eax
mov eax, ebx
mov ebx, esi
mov esi, dword [ebp + 0x14]
mov dword [edx + ecx*4 + 4], esi
mov esi, ebx
mov ebx, eax
mov eax, dword [ebp - 0x5c]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov edx, esi
jmp 0x100551a1
mov ecx, ebx
mov edx, 0x51
push 0
push esi
push eax
call fcn.10021190
add esp, 0xc
jmp 0x1005519c
mov ebx, edx
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax*4]
mov edi, ecx
movzx esi, di
mov ecx, ebx
mov edi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edi
jle 0x1005600e
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x61
mov edi, dword [ebp - 0x3c]
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edi, dword [ebp - 0x74]
cmp dword [ebp + 0x18], 0
mov eax, dword [ebp - 0x78]
je 0x1005527b
cmp byte [ebp + 0x1c], 0
jne 0x1005527b
cmp eax, dword [ebp - 0x38]
je 0x1005542a
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0x36]
test al, al
jne 0x100552b7
mov edx, ebx
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebp - 0xac]
neg ebx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov esi, dword [ebp - 0x30]
js 0x10055c88
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
mov al, 1
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x44]
jmp 0x10055085
cmp al, 0xb
movzx ecx, al
mov eax, 2
cmove ecx, eax
mov al, byte [ebp - 0x55]
cmp al, 0xb
movzx eax, al
cmove eax, ecx
cmp dword [ebp - 0x94], 0
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
jne 0x10056106
movzx eax, al
mov dword [ebp - 0x48], eax
test edi, edi
mov eax, dword [ebp - 0x38]
jne 0x10055304
cmp dword [eax + 0x14], 0
jne 0x10055304
cmp dword [ebp - 0x78], eax
jne 0x10055304
cmp dword [ebp - 0x48], 5
je 0x10055bef
mov esi, dword [ebp - 0x34]
mov ecx, eax
mov eax, dword [ebp + 0x10]
add edi, eax
movzx eax, word [ecx + 0x32]
mov dword [ebp - 0x5c], eax
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
mov dword [ebp - 0x80], edi
jle 0x1005624c
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x1b
mov dword [eax + ecx*4 + 4], edi
mov edi, edx
mov edx, ebx
mov ebx, dword [ebp - 0x98]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, edx
mov edx, edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10055376
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov esi, dword [ebp - 0x5c]
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x90]
jne 0x10055fb3
cmp dword [ebp + 0x18], 0
jne 0x10055c99
cmp dword [ebp - 0x48], 5
je 0x10055c99
mov esi, edx
mov edx, dword [ebp - 0x48]
cmp dl, 4
mov edi, dword [ebp - 0x74]
je 0x10056135
lea eax, [edx - 1]
cmp eax, 3
jae 0x1005594d
jmp 0x10055f9b
mov ecx, dword [edx + 0xc]
mov ebx, dword [ebp - 0xac]
neg ebx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005621c
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x40]
jne 0x10055fda
mov al, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x94], 0
jne 0x100558c7
jmp 0x100552af
mov ebx, edx
mov eax, dword [ebp - 0xa8]
jmp 0x10055225
mov al, 1
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x30]
jmp 0x100552af
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0xac]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x10055ed7
mov edx, ebx
push esi
call fcn.100329e0
add esp, 4
jmp 0x1005541d
movsx ecx, word [edi + 0x22]
mov al, 1
mov dword [ebp - 0x74], eax
movzx eax, byte [ebp + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x14]
inc eax
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x48], ecx
test cx, cx
jle 0x10055682
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x50], edx
mov esi, dword [edi + 4]
mov edx, ebx
shl edx, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edx
mov esi, dword [esi + edx + 4]
and esi, 0xf
je 0x100554ff
mov dword [ebp - 0x44], eax
movsx eax, word [edi + 0x20]
cmp ebx, eax
je 0x1005662b
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
movzx eax, word [edi + eax + 0xe]
test al, 0x60
sete cl
or cl, byte [ebp - 0x54]
test cl, 1
mov edx, dword [ebp - 0x50]
je 0x10056639
cmp dword [ebp + 0x2c], 0
je 0x10055504
mov ecx, dword [ebp + 0x2c]
cmp dword [ecx + ebx*4], 0
jns 0x10055504
mov ecx, eax
and ecx, 0x60
test cx, cx
jne 0x10055504
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x30]
inc ebx
add edx, 0x10
cmp ebx, ecx
jne 0x10055488
jmp 0x10055682
mov edx, dword [ebp - 0x50]
jmp 0x100554f2
cmp esi, 0xb
mov ecx, 2
cmove esi, ecx
cmp byte [ebp + 0x20], 0xb
cmovne esi, dword [ebp - 0x68]
cmp esi, 5
je 0x10055663
test al, 0x60
setne al
or al, byte [ebp - 0x74]
test al, 1
je 0x100554e9
test bx, bx
js 0x10055540
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x1c]
and eax, 0x20
jne 0x100568b9
mov eax, ebx
cwde
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x3c], eax
cmp esi, 2
jne 0x10055609
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
mov dword [ebp - 0x6c], ebx
add edi, dword [ebp - 0x38]
push dword [edi]
mov eax, dword [ebp - 0x30]
push dword [eax]
push 0x101cc859
push dword [ebp - 0x4c]
call fcn.10027ad0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10055eba
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x45
mov dword [ecx + eax*4 + 4], 0x513
mov dword [ecx + eax*4 + 8], esi
mov edx, dword [ebp - 0x3c]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov edi, ebx
mov ebx, dword [ebp - 0x6c]
jne 0x10056898
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x13], 0xfa
mov edx, dword [ebp - 0x38]
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [ebp - 0x50]
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x100554e9
mov esi, edi
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 1
jmp 0x100554e9
cmp esi, 1
je 0x10055564
cmp esi, 3
je 0x10055564
cmp esi, 5
je 0x1005695d
mov esi, dword [ebp - 0x34]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100561d1
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x32
mov edi, dword [ebp - 0x3c]
mov dword [ecx + eax*4 + 4], edi
mov esi, dword [ebp + 0x24]
mov dword [ecx + eax*4 + 8], esi
xor edi, edi
mov dword [ecx + eax*4 + 0xc], edi
mov dword [ecx + eax*4 + 0x10], edi
jmp 0x100554e9
test byte [ebp - 0x54], 1
jne 0x10055678
mov eax, dword [ebp - 0x38]
cmp word [edi + eax + 0xc], 0
jne 0x100569de
mov esi, 2
jmp 0x1005552c
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x64]
or eax, edx
sete al
mov ebx, dword [ebp - 0x54]
or bl, al
test bl, 1
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x40]
jne 0x10054d06
mov al, 1
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x74], 0
test edx, edx
mov eax, dword [ebp - 0x44]
jle 0x1005547b
mov dword [ebp - 0x74], 0
test byte [edi + 0x1c], 0x60
je 0x1005547b
mov ecx, ebx
mov edx, dword [ebp - 0x88]
push dword [ebp - 0x30]
mov edi, eax
call fcn.1017a230
mov eax, edi
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x30]
add esp, 4
mov dword [ebp - 0x74], 0
jmp 0x1005547b
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x84], eax
mov ebx, edi
mov edi, dword [ebp - 0x6c]
test edi, edi
jne 0x10056821
cmp dword [ebp - 0x88], 0
mov edi, ebx
mov edx, esi
jne 0x10055dd0
mov esi, dword [ebp + 0x28]
test byte [edx + 0x1c], 0x80
jne 0x1005577f
mov eax, dword [ebp + 8]
mov eax, dword [eax + edi*4]
movsx edi, word [edx + 0x24]
mov ebx, dword [ebp + 0x14]
inc ebx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x10055f86
lea edx, [esi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4], 0x61
mov dword [edx + ecx*4 + 4], ebx
mov dword [edx + ecx*4 + 8], edi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
cmp byte [ebp - 0x3c], 0
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp + 0x28]
jne 0x1005577f
mov ecx, dword [ebp - 0x34]
push 0
call fcn.10057000
add esp, 4
mov eax, dword [ebp - 0x68]
mov dword [esi], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
add esp, 0xbc
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [edx + 0x38], 0
jne 0x10055885
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x100557b9
cmp dword [eax + 0x30], 0
jne 0x10055885
mov eax, dword [ebx]
mov dword [ebp - 0x7c], 0
test byte [eax + 0x21], 0x40
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x64], 0
je 0x10054e69
cmp byte [edx + 0x2b], 0
jne 0x1005586b
mov eax, dword [edx]
mov esi, dword [edx + 0x3c]
mov edi, dword [esi + 0x44]
test edi, edi
mov dword [ebp - 0x38], eax
jne 0x10056190
lea eax, [esi + 0x40]
add esi, 0x3c
mov esi, dword [esi]
mov edi, 0x101f4340
test esi, esi
je 0x10054df5
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor ebx, ebx
movzx edx, byte [edi + ebx]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ecx + ebx]
cmp dl, cl
jne 0x10055829
test edx, edx
je 0x1005585e
inc ebx
jmp 0x10055813
mov dl, byte [edx + 0x101b1828]
cmp dl, byte [ecx + 0x101b1828]
je 0x10055826
dec esi
jne 0x1005580c
jmp 0x10054dea
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10056932
mov edx, dword [ecx + 0x38]
and edx, 3
cmp edx, 2
je 0x10056934
mov ecx, dword [ecx + 0x14]
jmp 0x10055842
mov edi, eax
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
jmp 0x10054df5
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x64], 0
jmp 0x10054e69
cmp byte [ebx + 0x9f], 0
jne 0x100557b9
xor eax, eax
mov ecx, ebx
mov edx, dword [ebp - 0x30]
push eax
push eax
push 0x80
call fcn.10054350
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x10054e1a
jmp 0x100557b9
mov dword [ebp - 0x7c], 0
jmp 0x10054e1a
cmp dword [ebp - 0xa0], 0
mov edx, dword [ebp - 0x44]
je 0x10055085
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100558ef
cmp dword [eax], 0
je 0x100558ef
cmp dword [eax + 0x1c], 0
jne 0x1005593f
mov eax, dword [ebp - 0x9c]
inc eax
xor esi, esi
mov edi, dword [ebp - 0x34]
mov ecx, edi
mov edx, 9
push esi
push eax
push esi
call fcn.10030110
add esp, 0xc
mov ecx, dword [edi]
mov eax, 0x101f4350
cmp byte [ecx + 0x57], 0
jne 0x1005592c
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx + 0x68]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
mov dword [ebp - 0xa0], 0
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x74]
jmp 0x10055085
cmp edx, 6
je 0x1005611f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x64], 0
je 0x10055977
mov eax, dword [ebx + 0x78]
test eax, eax
cmove eax, ebx
mov byte [eax + 0x14], 1
inc dword [ebp - 0x88]
mov dword [ebp - 0x8c], esi
cmp dword [ebp + 0x18], 0
je 0x1005598d
cmp dword [ebp - 0x7c], 0
jne 0x10056d4b
xor eax, eax
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x78], esi
sete al
movsx edi, cx
mov ecx, ebx
mov edx, dword [ebp - 0x30]
push dword [ebp - 0x80]
push eax
push 5
push 0
push edi
push dword [ebp - 0x5c]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x7c]
call fcn.1005fe10
add esp, 0x24
mov edx, dword [ebp - 0x64]
test edx, edx
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x74]
je 0x10056535
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100564ad
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x56
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], 1
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
mov edx, ebx
jle 0x100564c8
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov eax, dword [edx + 0x68]
mov ebx, ecx
mov dword [ebp - 0x98], ecx
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4], 9
xorps xmm0, xmm0
movups xmmword [eax + ecx*4 + 1], xmm0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebp - 0x40]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ebp - 0x84]
not ebx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10056a27
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x8c]
mov ebx, esi
mov eax, dword [esi + 0x38]
dec eax
mov dword [ebp - 0x84], eax
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x24], 0
jne 0x10056a3b
test ecx, ecx
jle 0x10055e76
inc ecx
mov eax, dword [ebp - 0x8c]
shl eax, 2
lea edx, [eax + eax*4]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
mov dword [ebp - 0xa8], edx
jne 0x10056a63
mov eax, dword [ecx + 0x68]
add eax, edx
movzx edx, byte [eax]
cmp edx, 0x8e
je 0x10055bcb
mov ebx, dword [ebp - 0x34]
test byte [edx + 0x101b296f], 1
mov edi, dword [ebp - 0x84]
jne 0x10055ad7
mov edi, dword [eax + 8]
movzx ecx, word [eax + 2]
mov word [ebp - 0x80], cx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x70], ecx
mov esi, dword [eax + 4]
mov al, byte [eax + 1]
mov byte [ebp - 0x68], al
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100564ea
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea ebx, [eax + eax*4]
mov byte [ecx + ebx*4], dl
mov word [ecx + ebx*4 + 2], 0
mov dword [ecx + ebx*4 + 4], esi
mov dword [ecx + ebx*4 + 8], edi
mov edx, dword [ebp - 0x70]
mov dword [ecx + ebx*4 + 0xc], edx
mov dword [ecx + ebx*4 + 0x10], 0
mov byte [ecx + ebx*4 + 1], 0
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x68]
movsx esi, dl
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x70], esi
jne 0x10056a6d
test eax, eax
js 0x10055be6
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
test dl, dl
jns 0x10055b95
cmp byte [ecx + eax*4 + 1], 0
jne 0x10055b95
lea esi, [ecx + eax*4]
inc esi
cmp dl, 0xfd
mov ebx, dword [ebp - 0x40]
je 0x1005634e
mov edx, dword [ebp - 0x8c]
test edx, edx
je 0x10055baf
mov dword [ecx + eax*4 + 0x10], edx
mov al, byte [ebp - 0x68]
mov byte [esi], al
cmp al, 0xf5
jne 0x10055baf
jmp 0x10056df2
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
call fcn.10035fc0
add esp, 8
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x10055bcb
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
movzx edx, word [ebp - 0x80]
mov word [ecx + eax*4 - 0x12], dx
mov ecx, dword [ebp - 0x48]
dec ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x14
cmp ecx, 1
jg 0x10055a96
jmp 0x10055e76
mov eax, dword [ebx + 0x6c]
dec eax
jmp 0x10055b58
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x20]
bt eax, 0xd
jae 0x10055c38
cmp dword [esi + 0x38], 0
je 0x10056a90
cmp byte [ebx + 0x9f], 0
jne 0x10055c38
mov ecx, ebx
mov edx, dword [ebp - 0x30]
xor eax, eax
push eax
push eax
push 0x80
call fcn.10054350
mov esi, dword [ebp - 0x30]
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x38]
jne 0x10055304
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x20]
bt eax, 0xe
mov eax, dword [ebp - 0x38]
jae 0x10055c6e
cmp dword [esi + 0x30], 0
jne 0x10055304
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x3c]
add ecx, 0x38
call fcn.10159090
mov esi, dword [ebp - 0x30]
cmp dword [eax + 8], 0
mov eax, dword [ebp - 0x38]
jne 0x10055304
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ebp - 0xac]
neg ebx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x100552a1
push ebx
call fcn.100329e0
mov esi, dword [ebp - 0x30]
add esp, 4
jmp 0x100552aa
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1c], 0x80
je 0x10056543
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x78], eax
jne 0x10056ab8
cmp dword [ebp + 0x18], 0
je 0x100553a2
mov eax, dword [ebp - 0x78]
movzx esi, word [eax + 0x32]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x38]
and eax, 3
cmp eax, 2
mov eax, dword [ebp - 0x5c]
cmove eax, dword [ebp - 0x3c]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x70], esi
test esi, esi
je 0x100553a2
mov eax, dword [ebp + 0x18]
inc eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x70]
add ecx, dword [eax + 0x6c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xb0], 0x34
xor edi, edi
mov dword [ebp - 0x8c], edx
mov esi, dword [ebp - 0x78]
mov eax, dword [esi + 0x20]
mov edx, dword [eax + edi*4]
mov ecx, ebx
call fcn.101701c0
mov dword [ebp - 0xc0], eax
movzx eax, word [esi + 0x32]
dec eax
cmp edi, eax
mov ebx, 0x35
cmovne ebx, dword [ebp - 0xb0]
mov eax, dword [esi + 4]
movsx edx, word [eax + edi*2]
mov esi, dword [ebp - 0x70]
cmove esi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x30]
call fcn.10159380
cwde
add eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
add ecx, edi
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb0], ebx
mov edx, ebx
push dword [ebp - 0x70]
mov dword [ebp - 0x70], esi
push esi
push eax
call fcn.10030110
add esp, 0xc
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, eax
push 0xfffffffffffffffe
push dword [ebp - 0xc0]
call fcn.1003a6c0
add esp, 8
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x10055dac
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
inc edi
mov eax, dword [ebp - 0x78]
movzx eax, word [eax + 0x32]
cmp edi, eax
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
jb 0x10055d0f
jmp 0x100553a2
mov esi, dword [ebp - 0x34]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10056473
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x11
mov edx, dword [ebp - 0x64]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x84]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
cmp dword [ebp - 0x78], 0
je 0x10056b38
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10056492
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov esi, dword [ebp - 0x54]
mov dword [ecx + eax*4 + 8], esi
mov esi, dword [ebp - 0x34]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ebx, dword [ebp - 0x84]
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov edx, dword [ebp - 0x30]
js 0x10056ba5
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
jmp 0x10055719
mov ecx, ebx
mov edx, 2
push dword [ebp - 0x38]
call fcn.10057220
add esp, 4
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx]
mov eax, dword [edx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x10056bb8
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov esi, dword [ebp - 0x30]
mov dword [ecx + 8], eax
xor eax, eax
inc eax
mov dword [ebp - 0x68], eax
jmp 0x100553c4
mov ecx, ebx
mov edx, 0x45
push dword [ebp - 0x3c]
push esi
push 0x513
call fcn.10021190
add esp, 0xc
jmp 0x100555c1
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x1005541d
mov eax, dword [ebp + 8]
mov esi, dword [eax + edi*4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100564fe
mov eax, edx
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x4b
xor eax, eax
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov eax, dword [ebp + 0x14]
not eax
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x24]
mov esi, dword [ebx]
test edx, edx
je 0x10056bc2
mov ecx, esi
xor eax, eax
push eax
push eax
call fcn.10001810
add esp, 8
mov dword [ebp - 0x3c], esi
cmp byte [esi + 0x57], 0
jne 0x10055f63
push 0x10
push dword [ebp - 0x98]
push eax
push ebx
mov esi, eax
call fcn.10041490
mov eax, esi
add esp, 0x10
test eax, eax
mov ecx, dword [ebp - 0x3c]
je 0x10055f71
mov edx, eax
call fcn.1014f3a0
mov dword [ebx + 0x34], 0
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
jmp 0x10055101
mov edx, 0x61
push eax
push edi
push ebx
call fcn.10021190
add esp, 0xc
jmp 0x10055766
mov ecx, ebx
push dword [ebp - 0x38]
call fcn.10057220
mov esi, dword [ebp - 0x30]
add esp, 4
mov edx, dword [ebp - 0x34]
jmp 0x100553c4
cmp ecx, 1
je 0x10056230
mov eax, dword [ebx + 0x1c]
sub eax, ecx
jge 0x1005632d
mov eax, dword [ebx + 0x2c]
lea esi, [eax + 1]
mov dword [ebp - 0x5c], esi
add eax, ecx
mov dword [ebx + 0x2c], eax
jmp 0x1005538e
cmp eax, 1
jne 0x10056c83
test edx, edx
je 0x100553f9
movzx eax, byte [ebx + 0x13]
cmp eax, 7
ja 0x100553f9
mov ecx, eax
inc cl
mov byte [ebx + 0x13], cl
lea eax, [ebx + eax*4]
add eax, 0xa0
mov dword [eax], edx
jmp 0x100553f9
mov edx, 0x61
push eax
push esi
push dword [ebp - 0x3c]
call fcn.10021190
add esp, 0xc
jmp 0x10055260
mov bl, byte [eax]
test bl, bl
je 0x100565bb
lea edx, [eax + 1]
xor eax, eax
movzx ecx, bl
movzx ecx, byte [ecx + 0x101b1828]
add ecx, eax
imul eax, ecx, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x10056034
xor edx, edx
div dword [esi + 0x38]
lea esi, [edi + edx*8]
lea eax, [edi + edx*8]
add eax, 4
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
jmp 0x10054dad
mov edx, dword [ebp - 0xb4]
lea eax, [edx + 1]
cmp eax, dword [ebp - 0x50]
jl 0x10056cb8
mov edi, eax
jmp 0x100556fb
cmp dword [edi], 0
je 0x10056cda
cmp dword [ebp - 0x50], 0
je 0x10056cff
xor ebx, ebx
xor esi, esi
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x14]
inc esi
add ebx, 0xa
test ecx, ecx
jne 0x10056099
test eax, eax
je 0x10056d07
movzx eax, word [eax + 0x12c]
cmp ebx, eax
ja 0x100562d4
cmp ebx, 0x80
mov ecx, dword [ebp - 0x4c]
ja 0x1005636e
mov eax, dword [ecx + 0x150]
test eax, eax
je 0x10056360
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x150], edx
mov ecx, dword [ebp - 0x4c]
inc dword [ecx + 0x138]
jmp 0x100563a4
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, ecx
mov edx, dword [ebp - 0x44]
jmp 0x10055054
xor eax, eax
mov ecx, dword [ebp - 0x94]
cmp byte [ecx + 0x14], 0
setne al
add eax, eax
add eax, 4
jmp 0x100552e5
mov ecx, ebx
mov edx, dword [ebp - 0x60]
push dword [ebp - 0x80]
push dword [ebp - 0x38]
push dword [ebp - 0x30]
call fcn.1005d430
add esp, 0xc
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x100562f6
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov esi, dword [ebp + 0x24]
mov dword [ecx + eax*4 + 8], esi
mov esi, dword [ebp - 0x34]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov edx, esi
mov esi, dword [ebp - 0x30]
jmp 0x100553c4
xor eax, eax
mov edx, 0x47
push eax
push esi
push eax
call fcn.10021190
add esp, 0xc
jmp 0x10054e5a
mov bl, byte [eax]
test bl, bl
je 0x100565d2
lea edx, [eax + 1]
xor eax, eax
movzx ecx, bl
movzx ecx, byte [ecx + 0x101b1828]
add ecx, eax
imul eax, ecx, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x1005619f
xor edx, edx
div dword [esi + 0x38]
lea esi, [edi + edx*8]
lea eax, [edi + edx*8]
add eax, 4
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
jmp 0x100557fd
mov ecx, esi
mov edi, ebx
mov ebx, edx
mov edx, 0x32
push 0
push dword [ebp + 0x24]
push dword [ebp - 0x3c]
call fcn.10021190
mov edx, ebx
mov ebx, edi
mov edi, dword [ebp - 0x30]
add esp, 0xc
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
jmp 0x100554f2
mov ecx, edx
mov esi, edx
mov edx, 0x52
push 0
push eax
push dword [ebp + 0x14]
call fcn.10021190
mov edx, esi
add esp, 0xc
jmp 0x100551a1
mov edx, dword [ebp - 0x34]
push ebx
call fcn.100329e0
mov esi, dword [ebp - 0x30]
add esp, 4
jmp 0x100553e4
mov al, byte [ebx + 0x13]
test al, al
jne 0x10056316
mov esi, dword [ebx + 0x2c]
inc esi
mov eax, esi
mov dword [ebp - 0x5c], esi
mov dword [ebx + 0x2c], esi
jmp 0x1005538e
mov ecx, esi
mov edx, 0x1b
push dword [ebp - 0x3c]
push dword [ebp - 0x98]
push edi
call fcn.10021190
add esp, 0xc
mov edx, eax
jmp 0x1005535c
cmp edi, 4
mov ecx, dword [ebp - 0x34]
jne 0x10056e80
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x100565e9
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ebx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ebx + eax*4], 9
mov edi, ecx
xor esi, esi
mov dword [ebx + eax*4 + 4], esi
mov edx, dword [ebp + 0x24]
mov dword [ebx + eax*4 + 8], edx
mov dword [ebx + eax*4 + 0xc], esi
mov dword [ebp - 0x88], 0
mov dword [ebx + eax*4 + 0x10], esi
mov edx, ecx
mov dword [ebp - 0x68], 0
jmp 0x10054fb8
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x10054fd8
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x128], 0
je 0x10056620
cmp byte [eax + 0x57], 0
jne 0x10055784
mov ecx, dword [ebp - 0x4c]
jmp 0x10056390
xor eax, eax
mov ecx, ebx
mov edx, 9
push eax
push dword [ebp + 0x24]
push eax
call fcn.10021190
mov esi, dword [ebp - 0x30]
add esp, 0xc
mov edx, ebx
jmp 0x100553c4
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov eax, dword [ebx + eax*4 + 0xa0]
mov dword [ebp - 0x5c], eax
jmp 0x1005538e
mov edi, dword [ebx + 0x20]
mov ecx, dword [ebp - 0x90]
mov esi, edi
mov dword [ebp - 0x5c], edi
add ecx, edi
mov dword [ebx + 0x20], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebx + 0x1c], eax
jmp 0x1005538e
mov edx, dword [ebp - 0x8c]
mov dword [ecx + eax*4 + 0x10], edx
mov byte [esi], 0xfd
jmp 0x10055baf
mov eax, dword [ecx + 0x14c]
test eax, eax
jne 0x100565d9
mov eax, dword [ecx + 0x148]
test eax, eax
jne 0x100565c2
mov eax, dword [ecx + 0x144]
test eax, eax
jne 0x10056610
inc dword [ecx + 0x140]
mov edx, ebx
push 0
call fcn.101372d0
add esp, 4
test eax, eax
je 0x10055784
push ebx
push 0
push eax
mov ebx, eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xa4], ebx
mov dword [edi + 0x18], ebx
mov dword [ebp - 0x50], 0
mov ecx, edi
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0xa4]
cmp dword [ecx], 0
je 0x10056415
mov ebx, dword [ecx + 0x1c]
test ebx, ebx
je 0x10056408
mov edx, dword [edx + 8]
xor edi, edi
test edx, edx
je 0x100563ed
cmp edx, ebx
jne 0x10056d15
lea ebx, [eax + edi]
cmp byte [ebx + esi*8], 0
jne 0x10056408
mov byte [ebx + esi*8], 1
mov ebx, dword [ebp - 0x50]
mov dword [eax + ebx*8], edx
mov dword [eax + ebx*8 + 4], edi
inc ebx
mov dword [ebp - 0x50], ebx
mov ecx, dword [ecx + 0x10]
test ecx, ecx
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp + 0x30]
jne 0x100563d0
mov ecx, dword [edx + 8]
xor eax, eax
test ecx, ecx
mov ebx, dword [ebp - 0x40]
jne 0x10056436
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
jmp 0x10054d44
mov ebx, dword [ebp - 0x38]
mov esi, eax
mov eax, dword [ebp - 0xa4]
lea edx, [eax + esi]
cmp byte [edx + ebx*8], 0
je 0x10056d30
mov eax, esi
inc eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10056439
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], 0
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x40]
jmp 0x10054d44
mov ecx, esi
mov edx, 0x11
push 0
push dword [ebp - 0x84]
push dword [ebp - 0x64]
call fcn.10021190
add esp, 0xc
jmp 0x10055e0d
xor eax, eax
mov ecx, esi
mov edx, 9
push eax
push dword [ebp - 0x54]
push eax
call fcn.10021190
add esp, 0xc
jmp 0x10055e4e
mov ecx, ebx
mov edx, 0x56
push 0
push 1
push dword [ebp - 0x64]
call fcn.10021190
add esp, 0xc
jmp 0x10055a03
xor eax, eax
mov ecx, edx
mov edx, 9
push eax
push eax
push eax
call fcn.10021190
mov edx, dword [ebp - 0x34]
add esp, 0xc
mov dword [ebp - 0x98], eax
jmp 0x10055a39
mov ecx, ebx
push dword [ebp - 0x70]
push edi
push esi
call fcn.10021190
add esp, 0xc
jmp 0x10055b38
xor eax, eax
mov ecx, edx
mov edx, 0x4b
push eax
push esi
push eax
call fcn.10021190
add esp, 0xc
jmp 0x10055f1e
mov ecx, esi
mov edx, 0x1f
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
call fcn.10021190
mov edx, dword [ebp - 0x30]
add esp, 0xc
jmp 0x10054f57
xor eax, eax
inc eax
mov dword [ebp - 0x68], eax
mov esi, dword [ebp - 0x30]
jmp 0x1005630f
mov ecx, dword [ebp - 0x34]
mov edi, edx
mov edx, 0x8e
push 0
push dword [ebp - 0x5c]
push dword [ebp - 0x80]
call fcn.10030110
mov edx, edi
mov ecx, dword [ebp - 0x90]
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x100553a2
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0x35
push dword [ebp + 0x18]
push dword [ebp - 0x98]
push dword [ebp - 0x5c]
call fcn.10030110
mov edx, edi
mov ecx, dword [ebp - 0x90]
add esp, 0xc
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x100553a2
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov ecx, dword [ebp - 0x90]
jmp 0x100553a2
xor eax, eax
jmp 0x1005604d
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x148], edx
jmp 0x100560e3
xor eax, eax
jmp 0x100561b8
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x14c], edx
jmp 0x100560e3
xor eax, eax
mov esi, ecx
mov edx, 9
push eax
push dword [ebp + 0x24]
mov dword [ebp - 0x88], 0
push eax
call fcn.10021190
mov edx, esi
add esp, 0xc
jmp 0x100562ba
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x144], edx
jmp 0x100560e3
inc dword [eax + 0x13c]
jmp 0x100562ee
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x30]
jmp 0x100554ff
mov eax, dword [ebp - 0x44]
inc eax
mov ecx, dword [ebp - 0x48]
jmp 0x100554ef
mov eax, dword [ebp + 0x14]
not eax
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x28]
lea ecx, [edi + edi*4]
mov esi, edx
mov edx, dword [eax + ecx*4 + 8]
mov eax, dword [ebp - 0x3c]
add eax, edi
mov ecx, ebx
push eax
call fcn.10170570
mov edx, esi
add esp, 4
mov dword [ebx + 0x34], 0
jmp 0x100551a1
test byte [eax + 0x21], 2
jne 0x100568f6
mov eax, dword [ebp + 0x14]
not eax
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x34], eax
cmp dword [esi], 0
jle 0x100569e8
mov eax, dword [ebp + 0x14]
inc eax
mov dword [ebp - 0x54], eax
mov al, byte [ebp + 0x20]
cmp al, 0xb
movzx eax, al
mov ecx, 2
cmove eax, ecx
movzx eax, al
mov dword [ebp - 0x44], eax
lea edi, [esi + 0xc]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov ebx, dword [edi - 4]
cmp dword [ebp + 0x2c], 0
je 0x10056712
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0x1017a450
mov ecx, dword [ebp + 0x2c]
mov dword [ebp - 0x14], ecx
test ebx, ebx
je 0x100566fd
lea ecx, [ebp - 0x2c]
mov edx, ebx
call fcn.1014fbd0
movzx eax, word [ebp - 0x18]
mov ecx, eax
and ecx, 0xfffffffd
cmp byte [ebp + 0x1c], 0
cmovne ecx, eax
test cx, cx
je 0x100567f3
cmp byte [ebp - 0x3c], 0
jne 0x10056729
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push dword [ebp - 0x54]
call fcn.10057000
add esp, 4
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x38]
mov ecx, edx
mov dword [ebp - 0x50], edx
lea ecx, [edx - 1]
mov dword [ebp - 0x3c], ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x1005680a
mov ecx, dword [ebp - 0x4c]
mov edx, ebx
xor eax, eax
push eax
push eax
call fcn.10001810
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x57], 0
jne 0x10056772
push 0x10
push dword [ebp - 0x3c]
push ebx
push dword [ebp - 0x40]
call fcn.10057840
add esp, 0x10
test ebx, ebx
je 0x10056780
mov ecx, dword [ebp - 0x4c]
mov edx, ebx
call fcn.1014f3a0
cmp dword [ebp - 0x44], 4
jne 0x100567a6
mov ecx, dword [ebp - 0x34]
mov edx, 9
xor eax, eax
push eax
push dword [ebp + 0x24]
push eax
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x44], 4
jmp 0x100567ce
mov ebx, dword [ebp - 0x44]
cmp ebx, 5
mov eax, 2
cmove ebx, eax
mov ecx, dword [ebp - 0x40]
mov edx, 0x113
push 3
push 0
push dword [edi]
mov dword [ebp - 0x44], ebx
push ebx
call fcn.10057460
add esp, 0x10
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0xc]
neg dword [ebp - 0x50]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10056811
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [ebp - 0x50]
mov dword [ecx + edx*4], eax
mov al, 1
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
inc eax
add edi, 0x14
mov dword [ebp - 0x38], eax
cmp eax, dword [esi]
jl 0x100566c6
jmp 0x100569ef
xor ebx, ebx
jmp 0x10056758
mov edx, dword [ebp - 0x34]
push dword [ebp - 0x50]
call fcn.100329e0
add esp, 4
jmp 0x100567ee
xor eax, eax
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 9
push eax
push edi
push eax
call fcn.10030110
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x1005685a
mov ecx, dword [ebp - 0xc8]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x34]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x30]
jmp 0x10055708
movsx ecx, ax
mov dword [ebp - 0x5c], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x80], ecx
test ax, ax
je 0x1005690b
mov ecx, dword [ebp - 0x80]
add ecx, 0xe
xor esi, esi
mov edx, dword [ebp - 0x5c]
movzx ebx, word [ecx]
bt ebx, 5
sbb si, 0xffff
add ecx, 0x10
dec edx
jne 0x10056885
jmp 0x1005690d
cmp dword [ebp - 0x38], 0
mov edx, dword [ebp - 0x50]
je 0x100555ea
mov esi, edx
mov edx, dword [ebp - 0x38]
call fcn.1014f290
mov edx, esi
mov ebx, dword [ebp - 0x6c]
jmp 0x100555ea
mov edi, edx
xor ecx, ecx
mov dword [ebp - 0x6c], ebx
xor eax, eax
test bx, bx
je 0x100568de
mov edx, dword [ebp - 0x3c]
movzx edx, word [edx + ecx + 0xe]
bt edx, 5
sbb ax, 0xffff
add ecx, 0x10
cmp edi, ecx
jne 0x100568c7
movsx ecx, word [ebp - 0x6c]
shl ecx, 4
mov edx, dword [ebp - 0x3c]
test byte [edx + ecx + 0xe], 0x20
jne 0x10056943
mov edx, edi
mov ebx, dword [ebp - 0x6c]
jmp 0x10056955
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
jmp 0x10054d29
xor esi, esi
mov ecx, dword [ebp - 0x5c]
shl ecx, 4
mov edx, dword [ebp - 0x80]
test byte [edx + ecx + 0xe], 0x20
jne 0x10056924
mov eax, esi
jmp 0x1005514b
sub eax, esi
mov ecx, dword [ebp - 0x30]
add ax, word [ecx + 0x24]
jmp 0x1005514b
xor ecx, ecx
mov dword [ebp - 0x78], ecx
movzx ecx, word [ecx + 0x32]
mov edi, dword [ebp - 0x30]
jmp 0x10054ce2
mov ebx, dword [ebp - 0x6c]
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 0x30]
add cx, word [eax + 0x24]
mov eax, ecx
mov edx, edi
mov edi, dword [ebp - 0x3c]
jmp 0x10055542
mov dword [ebp - 0x6c], ebx
mov ebx, edx
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, 0x33
push eax
xor esi, esi
push eax
push dword [ebp - 0x3c]
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x38]
movzx eax, word [edi + eax + 0xc]
test eax, eax
je 0x10056993
mov ecx, dword [ebp - 0x30]
cmp byte [ecx + 0x2b], 0
je 0x10056a09
mov ecx, dword [ebp - 0x40]
mov edx, esi
push dword [ebp - 0x3c]
call fcn.10170570
add esp, 4
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x100569c5
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x34]
add ecx, dword [edx + 0x68]
inc dword [ebp - 0x64]
mov dword [ecx + 8], eax
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov edx, ebx
mov ebx, dword [ebp - 0x6c]
jmp 0x100554f2
mov esi, 5
jmp 0x1005552c
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x40]
mov edx, eax
mov dword [eax + 0x34], 0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp + 0x30]
jmp 0x10054d29
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x10056993
cmp dword [ecx], eax
jl 0x10056993
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*4 - 0xc]
jmp 0x10056993
mov edx, dword [ebp - 0x34]
push ebx
call fcn.100329e0
mov edx, dword [ebp - 0x34]
add esp, 4
jmp 0x10055a5c
mov dword [ebp - 0x48], ecx
mov ecx, edx
mov edx, 0x32
push 0
push dword [ebp - 0x84]
push dword [ebp - 0xa8]
call fcn.10030110
mov ecx, dword [ebp - 0x48]
add esp, 0xc
jmp 0x10055a81
mov eax, 0x101f4350
jmp 0x10055ab3
cmp dl, 0xf5
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x8c]
je 0x10055baf
mov edx, dword [ebp - 0x70]
push eax
call fcn.100036f0
add esp, 4
jmp 0x10055baf
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
je 0x10056dfa
cmp dword [ecx + 0x30], 0
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x74]
jne 0x10055c05
jmp 0x10055c38
mov eax, dword [ebp - 0x78]
cmp word [eax + 0x32], 0
je 0x10055cb2
xor edi, edi
mov esi, edx
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax + 0x34]
xor eax, eax
dec eax
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x10056afd
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
movzx edx, word [eax + edi*2]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
xor ebx, ebx
cmp word [eax + ebx*2], dx
je 0x10056afa
inc ebx
cmp ecx, ebx
jne 0x10056aed
jmp 0x10056afd
mov dword [ebp - 0x70], ebx
movsx eax, word [ebp - 0x70]
mov ecx, dword [ebp - 0x5c]
lea ebx, [edi + ecx]
mov ecx, dword [ebp - 0x34]
mov edx, 0x5e
push ebx
push eax
push dword [ebp - 0x80]
call fcn.10030110
add esp, 0xc
inc edi
mov eax, dword [ebp - 0x78]
movzx eax, word [eax + 0x32]
cmp edi, eax
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x90]
mov edx, esi
jb 0x10056ac8
jmp 0x10055cb2
cmp dword [ebp + 0x18], 0
je 0x10056b70
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0x35
push dword [ebp + 0x18]
push dword [ebp - 0x54]
push dword [ebp + 0x14]
call fcn.10030110
add esp, 0xc
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x10056b70
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0x1f
push dword [ebp + 0x14]
push dword [ebp - 0x54]
push dword [ebp + 0xc]
call fcn.10030110
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov edx, 2
push dword [ebp - 0x30]
call fcn.1017a4c0
add esp, 4
mov edi, ebx
jmp 0x10055e4e
mov edx, esi
push ebx
call fcn.100329e0
mov edx, dword [ebp - 0x30]
add esp, 4
jmp 0x10055719
mov ecx, 0x101f4350
jmp 0x10055ea9
xor eax, eax
jmp 0x10055f44
mov esi, dword [ebp - 0x60]
cmp dword [esi], 0
je 0x10056db7
cmp dword [esi + 0x1c], 0
je 0x10056db7
mov eax, esi
mov eax, dword [esi + 0x10]
mov esi, eax
test eax, eax
jne 0x10056bcc
xor esi, esi
jmp 0x10056dc6
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0x35
push dword [ebp + 0x18]
push ebx
push dword [ebp + 0x14]
call fcn.10030110
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x10054f1b
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
jmp 0x10054f1b
xor eax, eax
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 9
push eax
push eax
mov dword [ebp - 0xa0], 0
push eax
call fcn.10030110
add esp, 0xc
mov edx, dword [esi]
mov esi, dword [esi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10056c70
mov ecx, dword [ebp - 0x6c]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx + 0x68]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], esi
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov edi, eax
jmp 0x10055041
cmp dword [ebx + 0x1c], eax
jge 0x100553f9
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xc4]
jmp 0x10056007
mov ebx, 0xa13
push dword [edx]
push str._s.rowid
mov esi, dword [ebp - 0x40]
push dword [esi]
call fcn.10027ad0
add esp, 0xc
jmp 0x10054f92
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ecx + edx*8 + 8]
mov dword [ebp - 0x38], edi
mov edi, dword [ecx + edx*8 + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
jmp 0x10055099
xor ecx, ecx
cmp byte [edi + 0x14], 0
setne al
mov dword [ebp - 0xa4], 0
cmove edi, ecx
add al, al
or al, 4
mov byte [ebp - 0x55], al
mov eax, dword [ebp - 0x4c]
jmp 0x10054d40
mov ebx, dword [ebp - 0x40]
jmp 0x10054d42
mov ecx, ebx
xor edx, edx
call fcn.10142fa0
jmp 0x1005639c
xor edi, edi
inc edi
mov edx, dword [edx + 0x14]
test edx, edx
je 0x10056e66
cmp edx, ebx
mov esi, dword [ebp - 0x38]
je 0x100563ed
jmp 0x10056d17
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x50]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], esi
mov eax, esi
inc edx
mov dword [ebp - 0x50], edx
jmp 0x10056450
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x78], eax
sete dl
mov dword [ebp - 0x68], edx
xor eax, eax
mov edi, ecx
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0xa7
push eax
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.10030110
add esp, 0xc
movsx eax, di
mov ecx, ebx
mov edx, dword [ebp - 0x30]
push dword [ebp - 0x80]
push dword [ebp - 0x68]
push 5
xor edi, edi
push edi
push eax
push dword [ebp - 0x5c]
push dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push edi
push dword [ebp - 0x7c]
call fcn.1005fe10
add esp, 0x24
mov ecx, esi
mov edx, 0xa8
xor eax, eax
push eax
push eax
push edi
call fcn.10030110
add esp, 0xc
jmp 0x100559bd
xor eax, eax
cmp byte [esi + 0x14], 0
setne al
lea edi, [eax + eax]
add edi, 4
cmp esi, dword [ebp - 0x60]
je 0x10056e6e
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, 9
push eax
push eax
push eax
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x30]
jmp 0x10054efc
inc dword [edx + 0xc]
jmp 0x10055baf
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x74]
jmp 0x10055c38
cmp dword [edx + 8], 0
je 0x10056f0b
cmp dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x30]
jne 0x10054f11
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, 9
push eax
push eax
push eax
call fcn.10030110
mov edx, dword [ebp - 0x30]
add esp, 0xc
inc eax
mov dword [ebp - 0x6c], eax
jmp 0x10054f11
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov edx, 9
push edi
push edi
push edi
call fcn.10030110
mov esi, dword [ebp - 0x30]
add esp, 0xc
mov dword [ebp - 0xa0], eax
jmp 0x1005503e
mov esi, dword [ebp - 0x38]
jmp 0x100563ed
mov dword [ebp - 0x9c], 0
mov esi, dword [ebp - 0x60]
jmp 0x10056dea
cmp edi, 5
jne 0x10056f13
cmp dword [ebp - 0x64], 0
je 0x10056f43
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x14], 1
sub esp, 0x24
movaps xmm0, xmmword [0x101b14a0]
movups xmmword [esp + 0x10], xmm0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
mov dword [esp + 0x20], 0xffffffff
mov edx, dword [ebp - 0x30]
call fcn.1005fe10
add esp, 0x24
mov esi, dword [ebp - 0x34]
mov ecx, esi
mov edx, 0x56
push 0
push 1
push dword [ebp - 0x64]
call fcn.10030110
mov edx, esi
add esp, 0xc
xor eax, eax
inc eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x68], eax
jmp 0x10054fb8
mov edx, dword [ebp - 0x30]
jmp 0x10054f11
cmp edi, 6
jne 0x10056f36
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x60]
push dword [ebp + 0xc]
push 0
push dword [ebp - 0x30]
call fcn.1005d430
add esp, 0xc
mov ecx, dword [ebp - 0x34]
jmp 0x10056278
mov edi, 2
mov edx, dword [ebp - 0x30]
jmp 0x10054f63
xor eax, eax
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x30]
cmp dword [eax + 8], 0
je 0x10054fb5
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x14], 1
mov edx, dword [ebp - 0x30]
push 0xffffffffffffffff
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1005ad50
add esp, 0x10
jmp 0x10054fb5
cmp dword [eax], 0
je 0x10056f96
mov ecx, dword [ebp - 0x38]
cmp dword [eax + 0x1c], ecx
jne 0x10056feb
cmp dword [ebp - 0x9c], 0
mov dword [ebp - 0x94], eax
je 0x100550b3
cmp eax, dword [ebp - 0x60]
jne 0x100550b3
mov ecx, dword [edx]
mov eax, 0x101f4350
cmp byte [ecx + 0x57], 0
jne 0x10056fd1
mov eax, dword [ebp - 0x9c]
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx + 0x68]
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x94], eax
mov esi, dword [ebp - 0x30]
jmp 0x100550b3
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x10056f89
xor eax, eax
jmp 0x10056f96