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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [ebp - 0x78], edx
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
cmp dword [ecx + 0x24], eax
jne 0x10061972
mov dword [ebp - 0x44], 0
cmp byte [ebx + 0x53], 0
jne 0x1006154e
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x78]
mov eax, dword [edi + 8]
test eax, eax
jne 0x10060fb8
lea esi, [edi + 0xc]
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x40]
xor edx, edx
push dword [esi]
push dword [edi + 0x10]
call fcn.100395c0
add esp, 8
mov esi, eax
mov edx, dword [edi + 0x18]
test edx, edx
mov dword [ebp - 0x48], eax
jne 0x10060f0a
mov dword [edi + 0x18], eax
mov dword [ebp - 0x6c], esi
test esi, esi
je 0x1006154e
inc dword [eax + 0x20]
test byte [edi + 0x30], 2
mov esi, dword [ebp - 0x40]
jne 0x1006197e
xor edi, edi
mov ecx, esi
mov edx, eax
push edi
mov dword [ebp - 0x44], 0
push edi
push 0x7f
call fcn.100524a0
add esp, 0xc
mov dword [ebp - 0x94], eax
test eax, eax
mov dword [ebp - 0x64], ebx
jne 0x10060e28
mov ecx, dword [esi]
xor eax, eax
test byte [ecx + 0x21], 0x40
jne 0x10060f35
test eax, eax
setne byte [ebp - 0x58]
mov edi, dword [ebp - 0x48]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x74], eax
mov ecx, esi
mov edx, edi
call fcn.10052b40
test eax, eax
jne 0x1006154e
xor eax, eax
cmp dword [ebp - 0x94], 0
setne al
mov ecx, esi
mov edx, edi
push eax
call fcn.10052400
add esp, 4
test eax, eax
jne 0x1006154e
mov ecx, dword [edi + 0x48]
mov eax, dword [ebx + 0x10]
test ecx, ecx
je 0x1006199b
lea edx, [eax + 0xc]
xor ebx, ebx
dec ebx
inc ebx
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x10060b15
mov ecx, ebx
shl ecx, 4
mov dword [ebp - 0x5c], ecx
mov esi, dword [ebp - 0x40]
mov edx, dword [esi]
mov ecx, dword [edx + 0x150]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
test ecx, ecx
mov edi, dword [ebp - 0x78]
jne 0x100619a5
mov eax, dword [esi + 0x28]
lea ecx, [eax + 1]
mov dword [ebp - 0x80], ecx
mov dword [esi + 0x28], ecx
mov dword [ebp - 0x60], eax
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
test eax, eax
jne 0x10060e03
xor edi, edi
mov dword [ebp - 0x90], 0
cmp dword [ebp - 0x74], 0
jne 0x10061a33
mov eax, dword [esi + 8]
mov dword [ebp - 0x3c], eax
test eax, eax
mov dword [ebp - 0x98], edi
jne 0x10060bb5
cmp dword [esi + 0x74], 0
jne 0x10060ba3
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x10060ba3
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.10035540
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x10061b9f
cmp byte [esi + 0x12], 0
jne 0x10060bc5
mov eax, dword [ebp - 0x3c]
or byte [eax + 0x98], 0x10
mov eax, esi
mov esi, dword [esi + 0x74]
test esi, esi
cmove esi, eax
mov eax, dword [esi + 0x54]
xor edi, edi
inc edi
mov ecx, ebx
shl edi, cl
bt eax, ebx
jb 0x10060bec
or eax, edi
mov dword [esi + 0x54], eax
cmp ebx, 1
je 0x1006166d
or dword [esi + 0x50], edi
mov al, byte [ebp - 0x58]
or byte [esi + 0x14], al
cmp dword [ebp - 0x74], 0
jne 0x10061a4f
xor eax, eax
lea ecx, [ebp - 0x38]
mov dword [ecx + 0x1c], eax
mov dword [ebp - 0x44], 0
mov dword [ecx + 0x18], eax
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
mov esi, dword [ebp - 0x40]
mov dword [ecx], esi
mov eax, dword [ebp - 0x78]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 8]
call fcn.10005000
test eax, eax
mov edi, dword [ebp - 0x3c]
jne 0x1006153d
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x64]
test byte [eax + 0x24], 1
jne 0x10061a6f
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 0x58]
mov esi, dword [ebp - 0x6c]
add esi, 8
or dword [ebp - 0x4c], eax
setne al
or al, cl
je 0x10060fce
mov edx, esi
xor eax, eax
test byte [ebp - 0x20], 0x40
sete al
lea eax, [eax*8 + 0x14]
test cl, cl
mov esi, 0x14
cmove esi, eax
mov eax, dword [ebp - 0x48]
cmp byte [eax + 0x24], 0
js 0x10061115
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov dword [ebp - 0x70], ebx
jle 0x1006175b
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x48
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ebp - 0x58], 0
mov dword [ecx + eax*4 + 0x10], edx
xor eax, eax
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x88], 0
movzx eax, si
xor esi, esi
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x78]
push dword [ebp - 0x80]
push eax
push esi
mov dword [ebp - 0x44], 0
push esi
push dword [ebp + 8]
call fcn.1003ef90
add esp, 0x14
test eax, eax
je 0x1006153d
mov ebx, eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x80], eax
mov al, byte [ebx + 0x2e]
mov byte [ebp - 0x6c], al
cmp al, 1
mov esi, dword [ebp - 0x50]
je 0x10060d4b
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x14], 1
test byte [ebx + 0x30], 1
jne 0x100617a3
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x10061ae5
cmp dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x8c], ebx
jne 0x100611cb
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov dword [ebp - 0x4c], esi
jle 0x1006177b
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x83
mov edx, dword [ebp - 0x60]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
cmp byte [ebp - 0x6c], 0
je 0x10060e31
lea edx, [esi + 2]
movzx eax, word [ecx + 0x11c]
cmp edx, eax
ja 0x100610f9
cmp esi, 0x7e
ja 0x1006137c
mov eax, dword [ecx + 0x140]
test eax, eax
je 0x1006136e
mov edx, ecx
mov ecx, dword [eax]
mov dword [edx + 0x140], ecx
mov ecx, edx
inc dword [edx + 0x128]
jmp 0x100613b0
mov ecx, dword [esi + 0x28]
inc ecx
mov dword [ebp - 0x50], 0
mov edi, dword [ebp - 0x50]
lea edx, [ecx + edi]
mov dword [esi + 0x28], edx
inc edi
mov dword [ebp - 0x50], edi
mov eax, dword [eax + 0x14]
test eax, eax
je 0x10060b6b
jmp 0x10060e0e
mov byte [ebp - 0x58], 1
jmp 0x10060ac6
cmp dword [ebp - 0x58], 0
jne 0x10061299
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov ebx, dword [ebp - 0x60]
jle 0x10061838
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x97
mov edx, dword [ebp - 0x70]
mov dword [ecx + eax*4 + 4], edx
mov esi, dword [ebp - 0x4c]
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
xor eax, eax
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x8c]
call fcn.100370c0
cmp dword [ebp - 0x74], 0
jne 0x10060eac
lea eax, [ebp - 0x18]
lea esi, [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
push eax
push esi
push 0
push ebx
push 8
push 0x63
call fcn.100528a0
add esp, 0x18
mov esi, dword [edi + 0x6c]
mov eax, dword [edi + 0x70]
mov ebx, dword [ebp - 0x58]
test ebx, ebx
mov dword [ebp - 0x58], ebx
jne 0x10061219
cmp eax, esi
jle 0x1006186e
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x2a
mov edx, dword [ebp - 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edi, esi
xor esi, esi
mov dword [eax + ecx*4 + 8], esi
mov edx, dword [ebp - 0x4c]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [ebp - 0x54], 0
mov dword [eax + ecx*4 + 0x10], esi
mov esi, edi
mov al, 1
mov dword [ebp - 0x50], eax
xor ecx, ecx
jmp 0x1006149c
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x48]
test ecx, ecx
je 0x10060f1f
cmp dword [ecx + 0x1f8], 0
jne 0x10060f28
dec dword [edx + 0x20]
jne 0x10060a6a
call fcn.10021c30
mov eax, dword [ebp - 0x48]
jmp 0x10060a6a
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov edi, dword [eax + 0x48]
mov eax, dword [edi + 0x44]
test eax, eax
jne 0x10061704
lea eax, [edi + 0x40]
add edi, 0x3c
mov ebx, dword [edi]
mov edx, 0x101dded0
test ebx, ebx
je 0x10060f9a
mov esi, ecx
mov eax, dword [eax]
dec ebx
mov dword [ebp - 0x3c], eax
mov edx, dword [eax + 0xc]
xor edi, edi
movzx ecx, byte [edx + edi]
movzx eax, byte [esi + edi]
cmp cl, al
jne 0x10060f7d
test cl, cl
je 0x10061363
inc edi
jmp 0x10060f66
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [eax + 0x1019c728]
je 0x10060f7a
test ebx, ebx
mov eax, dword [ebp - 0x3c]
jne 0x10060f5b
mov esi, dword [ebp - 0x40]
mov edx, 0x101dded0
cmp dword [edx + 8], 0
mov ebx, dword [ebp - 0x64]
jne 0x10061ccc
xor eax, eax
mov ecx, dword [ebp - 0x48]
cmp dword [ecx + 0x10], 0
setne al
jmp 0x10060ac0
mov ecx, dword [ebx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
je 0x10060a41
jmp 0x10060fbe
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x38], 0
jne 0x10060c67
cmp ebx, 1
mov ecx, dword [ebp - 0x40]
je 0x10060ff9
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
jne 0x10061cdc
mov eax, dword [ebp - 0x48]
cmp byte [eax + 0x24], 0
js 0x10061097
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x50], eax
xor esi, esi
mov eax, dword [ebp - 0x84]
cmp eax, 1
sbb esi, esi
or esi, eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov dword [ebp - 0x3c], edi
jle 0x10061855
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x8d
mov edi, dword [ebp - 0x50]
mov dword [ecx + edx*4 + 4], edi
mov dword [ecx + edx*4 + 8], ebx
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], 0
mov edi, dword [ebp - 0x3c]
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
mov esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x44]
jne 0x10061097
test eax, eax
js 0x100617e4
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x100617be
test edx, edx
je 0x10061097
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], edx
mov byte [eax], 0xff
mov esi, dword [esi]
mov dword [ebp - 0x44], 0
test esi, esi
je 0x10061516
mov eax, dword [esi + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x10061820
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x8d
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], ebx
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov eax, dword [esi + 0x38]
and eax, 3
cmp eax, 2
mov eax, dword [ebp - 0x48]
jne 0x100610f4
cmp byte [eax + 0x24], 0
js 0x10061cf5
mov esi, dword [esi + 0x14]
jmp 0x10061099
cmp dword [ecx + 0x118], 0
je 0x10061967
cmp byte [ecx + 0x53], 0
je 0x1006139e
jmp 0x10061c4a
mov ecx, dword [edx]
mov eax, dword [ecx + 0x38]
and eax, 3
lea edx, [ecx + 0x14]
cmp eax, 2
jne 0x10061115
mov dword [ebp - 0x58], ecx
movzx eax, word [ecx + 0x32]
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x5c], eax
cwde
mov dword [ebp - 0x54], ecx
add ecx, eax
mov dword [edx + 0x2c], ecx
lea ecx, [ebx + 1]
mov dword [edx + 0x28], ecx
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
mov dword [ebp - 0x68], ebx
jle 0x100618ac
lea ecx, [edx + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
mov dword [ebp - 0x88], edx
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0x70
mov dword [ecx + edx*4 + 4], ebx
mov dword [ecx + edx*4 + 8], eax
xor eax, eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov ebx, dword [ebp - 0x54]
inc ebx
mov ecx, dword [ebp - 0x40]
mov edi, dword [ecx + 8]
mov edx, dword [ebp - 0x58]
call fcn.10044850
test eax, eax
mov dword [ebp - 0x54], ebx
je 0x10061d2e
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x10061d3a
mov dword [ebp - 0x70], 0
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4 - 0x13], 0xf7
mov dword [ecx + edx*4 - 4], eax
mov edi, dword [ebp - 0x3c]
jmp 0x10060cf3
movsx eax, word [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
test ax, ax
jle 0x100616ef
mov dword [ebp - 0x3c], edi
xor edi, edi
mov eax, dword [ebp - 0x54]
add eax, edi
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 4]
movsx ebx, word [ecx + edi*2]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x60]
call fcn.1003db30
add esp, 0xc
inc edi
cmp dword [ebp - 0x7c], edi
jne 0x100611e0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x3c]
jmp 0x10060dbd
cmp eax, esi
jle 0x100618ca
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x25
mov edx, dword [ebp - 0x68]
mov dword [eax + ecx*4 + 4], edx
xor edx, edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x38], 0
jne 0x10061d65
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov edx, dword [ebp - 0x68]
jle 0x100618f6
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x82
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ebp - 0x54], 0
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x10060efe
movsx eax, word [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov edx, dword [ebp - 0x58]
call fcn.10044c40
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov dword [ebp - 0x4c], esi
jle 0x10061912
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
mov dword [ebp - 0x50], eax
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x5d
mov eax, esi
mov esi, dword [ebp - 0x54]
mov dword [ecx + edx*4 + 4], esi
mov esi, dword [ebp - 0x7c]
mov dword [ecx + edx*4 + 8], esi
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x10061d7e
mov eax, dword [ebp - 0x50]
test eax, eax
mov ebx, dword [ebp - 0x60]
js 0x10061808
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp word [ebp - 0x5c], 0
jns 0x10061679
cmp byte [ecx + eax*4 + 1], 0
jne 0x10061679
lea edx, [ecx + eax*4]
inc edx
cmp word [ebp - 0x5c], 0xfffd
je 0x10061811
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x1006168a
mov dword [ecx + eax*4 + 0x10], esi
mov eax, dword [ebp - 0x5c]
mov byte [edx], al
cmp ax, 0xfff4
jne 0x1006168a
inc dword [esi + 0xc]
jmp 0x1006168a
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
jmp 0x10060f9a
mov eax, dword [ecx + 0x13c]
test eax, eax
jne 0x100617d5
mov eax, dword [ecx + 0x138]
test eax, eax
jne 0x1006174c
mov eax, dword [ecx + 0x134]
test eax, eax
jne 0x1006194f
inc dword [ecx + 0x130]
push 0
call fcn.10143c10
add esp, 4
test eax, eax
je 0x10061c4a
mov dword [ebp - 0x44], eax
lea ecx, [esi + 1]
push ecx
push 1
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov byte [ecx + esi + 1], 0
mov eax, dword [ebp - 0x9c]
test eax, eax
mov ebx, dword [ebp - 0x60]
js 0x100613dd
sub eax, ebx
mov byte [ecx + eax], 0
cmp dword [ebp - 0x80], 0
mov edx, dword [ebp - 0x88]
jns 0x10061795
test edx, edx
jne 0x10061bb5
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [ebp - 0x54], ecx
mov dword [eax + 0x38], ecx
cmp dword [ebp - 0x74], 0
jne 0x10061470
cmp byte [ebp - 0x6c], 2
jne 0x1006164a
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x70], esi
jle 0x100617ed
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
mov byte [eax + ecx*4], 0x11
xorps xmm0, xmm0
movups xmmword [eax + ecx*4 + 1], xmm0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebp - 0x18]
lea ebx, [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x44]
mov ebx, dword [ebp - 0x60]
push ebx
push 8
push 0x63
call fcn.100528a0
add esp, 0x18
mov eax, dword [edi + 0x6c]
lea ecx, [eax - 1]
cmp ecx, esi
jne 0x100615ea
mov dword [edi + 0x6c], esi
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x38], 0
jne 0x10061c29
mov eax, dword [ebp - 0x14]
mov ecx, eax
sub ecx, ebx
mov edx, dword [ebp - 0x44]
cmp byte [edx + ecx], 0
jne 0x10061bee
mov ecx, edx
mov dword [ebp - 0x50], 0
xor esi, esi
mov ebx, esi
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x48]
cmp dword [edx + 0x38], 0
jne 0x10061afe
xor eax, eax
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + 0x12], 0
sete al
movzx edi, byte [ebp - 0x6c]
movsx esi, word [ebp - 0x5c]
push dword [ebp - 0x80]
push edi
push 0xb
push eax
push esi
push dword [ebp - 0x4c]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x94]
call fcn.10061de0
add esp, 0x24
cmp byte [ebp - 0x50], 0
mov edi, dword [ebp - 0x3c]
jne 0x10061589
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x54]
not esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10061c3a
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp - 0x8c]
call fcn.100370c0
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + 0x12], 0
jne 0x1006152f
cmp dword [ecx + 0x78], 0
jne 0x1006152f
cmp dword [ecx + 0x70], 0
jne 0x10061bab
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x10061a84
mov ecx, dword [ebp - 0x90]
test ecx, ecx
jne 0x10061ad4
mov ebx, dword [ebp - 0x64]
mov ecx, ebx
mov edx, dword [ebp - 0x78]
call fcn.10008530
mov edx, dword [ebp + 8]
test edx, edx
je 0x10061566
mov ecx, ebx
call fcn.10139110
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x10061574
mov ecx, ebx
call fcn.10139000
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014dc80
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, ebx
cmp dword [ebp - 0x58], 0
jne 0x1006160c
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10061893
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xb
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 ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x53], 0
jne 0x10061cc2
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
jmp 0x10061516
mov edx, dword [edi]
cmp byte [edx + 0x53], 0
jne 0x10061d9f
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
jmp 0x10061470
lea eax, [esi + 1]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x100618e7
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 5
mov esi, dword [ebp - 0x68]
mov dword [edx + ecx*4 + 4], esi
mov esi, ebx
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
jmp 0x100615c2
lea eax, [ebp - 0x18]
lea esi, [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
push eax
push esi
push dword [ebp - 0x44]
push ebx
push 8
push 0x63
call fcn.100528a0
add esp, 0x18
jmp 0x10061470
mov ecx, esi
call fcn.10045bc0
jmp 0x10060bec
lea edx, [ecx + eax*4]
mov ecx, edi
push esi
push dword [ebp - 0x44]
call fcn.1003d950
add esp, 8
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10061931
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x86
mov esi, dword [ebp - 0x68]
mov dword [ecx + edx*4 + 4], esi
mov esi, dword [ebp - 0x4c]
mov dword [ecx + edx*4 + 8], esi
mov ebx, dword [ebp - 0x54]
mov dword [ecx + edx*4 + 0xc], ebx
mov ebx, dword [ebp - 0x60]
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x100616e3
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [ebp - 0x7c]
mov dword [ecx + eax*4 + 0x10], edx
mov dword [ebp - 0x5c], 0
jmp 0x10060e7b
cmp byte [ebp - 0x6c], 0
je 0x100612a0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], eax
jmp 0x10060dc3
mov dword [ebp - 0x3c], eax
mov bl, byte [ecx]
test bl, bl
je 0x1006195e
mov esi, ecx
lea edx, [ecx + 1]
xor eax, eax
movzx ecx, bl
movzx ecx, byte [ecx + 0x1019c728]
add ecx, eax
imul eax, ecx, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x10061718
xor edx, edx
div dword [edi + 0x38]
mov ecx, dword [ebp - 0x3c]
lea eax, [ecx + edx*8]
add eax, 4
lea edi, [ecx + edx*8]
mov ecx, esi
mov esi, dword [ebp - 0x40]
jmp 0x10060f4e
mov edx, ecx
mov ecx, dword [eax]
mov dword [edx + 0x138], ecx
jmp 0x10060df6
xor eax, eax
mov ecx, edi
mov edx, 0x48
push eax
push ebx
mov dword [ebp - 0x58], 0
push eax
call fcn.10007820
add esp, 0xc
jmp 0x10060cd5
mov ecx, edi
mov edx, 0x83
push 0
push esi
push dword [ebp - 0x60]
call fcn.10007820
add esp, 0xc
jmp 0x10060db7
mov eax, dword [ebp - 0x80]
sub eax, ebx
mov byte [ecx + eax], 0
jmp 0x100613ed
xor eax, eax
mov ecx, edi
mov edx, 0x8b
push eax
push eax
push dword [ebp - 0x60]
call fcn.10036aa0
add esp, 0xc
jmp 0x10060d55
lea edx, [ecx + eax*4]
mov ecx, edi
push 0xffffffffffffffff
push dword [ebp - 0x44]
call fcn.1003d950
add esp, 8
jmp 0x10061097
mov edx, ecx
mov ecx, dword [eax]
mov dword [edx + 0x13c], ecx
jmp 0x10060df6
mov eax, dword [edi + 0x6c]
dec eax
jmp 0x10061078
xor eax, eax
mov ecx, edi
mov edx, 0x11
push eax
push eax
push eax
call fcn.10007820
add esp, 0xc
mov esi, eax
jmp 0x1006143e
mov eax, dword [edi + 0x6c]
dec eax
jmp 0x10061312
mov esi, dword [ebp - 0x44]
mov dword [ecx + eax*4 + 0x10], esi
mov byte [edx], 0xfd
jmp 0x1006168a
mov ecx, edi
mov edx, 0x8d
push 0
push ebx
push eax
call fcn.10007820
add esp, 0xc
jmp 0x100610dc
mov ecx, edi
mov edx, 0x97
push 0
mov esi, dword [ebp - 0x4c]
push esi
push dword [ebp - 0x70]
call fcn.10007820
add esp, 0xc
jmp 0x10060e75
mov ecx, edi
mov edx, 0x8d
push esi
push ebx
push dword [ebp - 0x50]
call fcn.10007820
add esp, 0xc
jmp 0x1006105f
mov ecx, edi
mov edx, 0x2a
push dword [ebp - 0x4c]
push 0
push dword [ebp - 0x70]
call fcn.10007820
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x54], 0
jmp 0x10060efe
xor eax, eax
mov ecx, edi
mov edx, 0xb
push eax
push esi
push eax
call fcn.10007820
add esp, 0xc
jmp 0x100615c2
mov ecx, edi
mov edx, 0x70
push 0
push eax
push ebx
call fcn.10007820
add esp, 0xc
mov dword [ebp - 0x88], eax
jmp 0x10061181
xor eax, eax
mov ecx, edi
mov edx, 0x25
push eax
push eax
push dword [ebp - 0x68]
call fcn.10007820
add esp, 0xc
mov esi, eax
jmp 0x10061249
mov ecx, edi
mov edx, 5
push 0
push eax
push dword [ebp - 0x68]
jmp 0x1006189f
mov ecx, edi
mov eax, edx
mov edx, 0x82
push 0
push dword [ebp - 0x4c]
push eax
call fcn.10007820
add esp, 0xc
jmp 0x10061887
mov ecx, edi
mov edx, 0x5d
push esi
mov esi, dword [ebp - 0x7c]
push esi
push dword [ebp - 0x54]
call fcn.10007820
add esp, 0xc
mov dword [ebp - 0x50], eax
jmp 0x100612f8
mov ecx, edi
mov edx, 0x86
push dword [ebp - 0x54]
mov esi, dword [ebp - 0x4c]
push esi
push dword [ebp - 0x68]
call fcn.10007820
add esp, 0xc
jmp 0x100616c9
mov edx, ecx
mov ecx, dword [eax]
mov dword [edx + 0x134], ecx
jmp 0x10060df6
mov esi, ecx
xor eax, eax
jmp 0x10061731
inc dword [ecx + 0x12c]
jmp 0x1006139e
mov dword [ebp - 0x44], 0
jmp 0x1006154e
mov eax, dword [ebp - 0x78]
lea edx, [eax + 8]
mov ecx, esi
call fcn.10162640
test eax, eax
mov eax, dword [ebp - 0x48]
jne 0x1006154e
jmp 0x10060a88
mov ebx, 0xffff8000
jmp 0x10060b1f
cmp byte [edx + 0xa9], 0
mov dword [ebp - 0x4c], 0
jne 0x10060b4b
cmp byte [esi + 0xc8], 0
mov dword [ebp - 0x4c], 0
jne 0x10060b4b
mov edi, esi
mov esi, dword [ebp - 0x5c]
mov esi, dword [eax + esi]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov edi, dword [edi + 0xf0]
mov eax, dword [edx + 0x154]
mov dword [ebp - 0x3c], eax
call dword [section..00cfg]
push edi
push esi
push 0
push dword [ebp - 0x44]
push 9
push dword [ebp - 0x3c]
call ecx
add esp, 0x18
mov dword [ebp - 0x4c], eax
cmp eax, 1
jne 0x10061da9
push str.not_authorized
mov esi, dword [ebp - 0x40]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 0x17
mov dword [ebp - 0x44], 0
jmp 0x1006154b
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov edi, dword [esi + 0xf0]
mov dword [esi + 0xf0], eax
mov dword [ebp - 0x90], esi
jmp 0x10060b81
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x60]
push esi
push dword [ebp + 8]
call fcn.10166700
add esp, 8
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
jmp 0x10060bff
cmp byte [esi + 0x12], 0
je 0x10061c6d
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x3c]
jmp 0x10060c50
mov ecx, edi
mov edx, 0x50
push 0
push 1
push eax
call fcn.10036aa0
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.10036960
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
jne 0x1006153d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x74]
sub esp, 0x10
movaps xmm0, xmmword [0x1019c160]
movups xmmword [esp], xmm0
mov edx, str.rows_deleted
call fcn.100364f0
add esp, 0x10
jmp 0x1006153d
mov eax, dword [ebp - 0x98]
mov dword [ecx + 0xf0], eax
jmp 0x1006154b
mov ecx, edi
mov edx, 0x53
push 0
push 1
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x10060d63
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x74], 0
test eax, eax
jne 0x10061c5a
mov esi, dword [ebp - 0x40]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.101668e0
mov eax, dword [esi + 0x74]
test eax, eax
cmove eax, esi
mov byte [eax + 0x15], 1
cmp byte [ebp - 0x6c], 1
jne 0x10061b55
xor edi, edi
mov ecx, dword [ebp - 0x3c]
mov edx, 0x76
push edi
push edi
push dword [ebp - 0x60]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x74], edi
jne 0x10061b55
mov eax, dword [ebp - 0x40]
mov byte [eax + 0x14], 0
mov esi, dword [ebp - 0x3c]
mov ecx, esi
mov edx, 0xa
push dword [ebp - 0x4c]
push 1
push 0
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff4
push dword [ebp - 0x74]
call fcn.1004f010
add esp, 8
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x100614e1
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 2
jmp 0x100614e1
mov dword [ebp - 0x44], 0
jmp 0x1006153d
call fcn.10166990
jmp 0x1006152f
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x100613f5
mov esi, dword [edi + 0x68]
lea edi, [edx + edx*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.10006530
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb1
mov edi, dword [ebp - 0x3c]
jmp 0x100613f5
mov ecx, edi
mov edx, 0x1d
push dword [ebp - 0x4c]
push dword [ebp - 0x54]
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [edi]
mov dword [ebp - 0x50], 0
cmp byte [ecx + 0x53], 0
jne 0x10061c30
movsx ecx, word [ebp - 0x5c]
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [edx + eax*4 + 1], 0xfd
mov dword [edx + eax*4 + 0x10], ecx
mov dword [ebp - 0x50], 0
xor esi, esi
mov ecx, dword [ebp - 0x44]
jmp 0x1006149c
mov edx, edi
push esi
call fcn.10037c90
add esp, 4
jmp 0x1006150b
mov ecx, dword [ebp - 0x8c]
call fcn.100370c0
jmp 0x1006153d
mov ecx, dword [ebp - 0x64]
cmp dword [eax], ecx
je 0x10061cd4
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x10061c5d
jmp 0x10061b10
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x78], 0
jne 0x10061a79
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x91], 0
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x58]
jne 0x10060c53
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
xor eax, eax
mov ecx, edi
mov edx, 0x45
push eax
mov dword [ebp - 0x84], esi
push esi
push eax
call fcn.10036aa0
mov cl, byte [ebp - 0x58]
mov eax, dword [ebp + 8]
add esp, 0xc
jmp 0x10060c53
mov ecx, 0x101ddee0
jmp 0x100615e2
xor eax, eax
inc eax
jmp 0x10060ac0
mov dword [ebp - 0x74], eax
jmp 0x10061b10
mov edx, ebx
mov eax, dword [ebp - 0x48]
push dword [eax]
push 1
push dword [eax + 0x1c]
call fcn.1004cdd0
add esp, 0xc
jmp 0x10060ff9
mov ecx, dword [edi]
mov eax, 0x101ddee0
cmp byte [ecx + 0x53], 0
jne 0x10061d14
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
xor ecx, ecx
mov edx, dword [ebp - 0x84]
cmp edx, 1
sbb ecx, ecx
or ecx, edx
mov dword [eax + 0xc], ecx
mov edi, dword [ebp - 0x3c]
jmp 0x100610f4
mov dword [ebp - 0x70], 0
jmp 0x100611c3
mov dword [ebp - 0x70], 0
cmp dword [ecx + 0x1f8], 0
jne 0x100611c3
dec dword [eax]
jne 0x100611c3
mov ecx, dword [eax + 0xc]
mov edx, eax
call fcn.10139000
jmp 0x100611c3
mov ecx, edi
mov edx, 0x5b
push dword [ebp - 0x4c]
push 0
push dword [ebp - 0x68]
call fcn.10036aa0
jmp 0x1006190a
cmp word [ebp - 0x5c], 0xfff4
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x44]
je 0x1006168a
mov edx, esi
push eax
call fcn.10006530
add esp, 4
jmp 0x1006168a
mov ecx, 0x101ddee0
jmp 0x10061604
test dword [ebp - 0x4c], 0xfffffffd
je 0x10061dcf
push str.authorizer_malfunction
mov esi, dword [ebp - 0x40]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x10061a27
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x40]
jmp 0x10060b4b