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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [ebp - 0x7c], edx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov eax, dword [ecx]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x40], ecx
cmp dword [ecx + 0x24], edi
jne 0x1005a8c3
mov esi, dword [ebp - 0x7c]
mov eax, dword [esi + 8]
test eax, eax
jne 0x1005a4e8
lea edi, [esi + 0xc]
mov ecx, dword [ebp - 0x40]
xor edx, edx
push dword [edi]
push dword [esi + 0x10]
call fcn.10038860
add esp, 8
mov edi, eax
mov dword [ebp - 0x48], eax
mov edx, dword [esi + 0x18]
test edx, edx
jne 0x1005a4c7
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x48]
mov dword [eax + 0x18], esi
test edi, edi
je 0x1005afbe
inc dword [esi + 0x18]
test byte [eax + 0x30], 2
jne 0x1005afa8
cmp dword [esi + 0x38], 0
mov dword [ebp - 0x64], edi
jne 0x1005a475
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x1005a069
cmp dword [eax + 0x30], 0
jne 0x1005a475
lea eax, [edi + 0x2b]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x48]
mov al, byte [eax + 0x2b]
cmp al, 2
sete byte [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
xor edi, edi
test byte [ecx + 0x21], 0x40
je 0x1005a10a
test al, al
jne 0x1005a10a
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov edi, dword [eax + 0x3c]
mov esi, dword [edi + 0x44]
test esi, esi
jne 0x1005aa2a
lea esi, [edi + 0x40]
add edi, 0x3c
mov edi, dword [edi]
mov eax, 0x101f2310
test edi, edi
je 0x1005a0ed
mov esi, dword [esi]
mov ebx, dword [esi + 0xc]
xor edx, edx
movzx ecx, byte [ebx + edx]
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax + edx]
cmp cl, al
jne 0x1005a0d7
test ecx, ecx
je 0x1005a639
inc edx
jmp 0x1005a0bd
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [eax + 0x101af7e8]
je 0x1005a0d4
dec edi
jne 0x1005a0b6
mov eax, 0x101f2310
cmp dword [eax + 8], 0
jne 0x1005a717
mov esi, dword [ebp - 0x48]
cmp dword [esi + 0x30], 0
setne al
mov dword [ebp - 0x60], eax
xor ebx, ebx
xor edi, edi
jmp 0x1005a11e
xor ebx, ebx
mov dword [ebp - 0x60], 0
cmp al, 1
mov esi, dword [ebp - 0x48]
je 0x1005af94
cmp word [esi + 0x22], 0
jle 0x1005af94
mov ecx, dword [ebp - 0x40]
mov edx, esi
push edi
call fcn.1004ed10
add esp, 4
test eax, eax
mov edi, 0
jne 0x1005a8c3
mov dword [ebp - 0x98], ebx
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x10]
test ecx, ecx
je 0x1005afc5
lea edx, [eax + 0xc]
xor ebx, ebx
dec ebx
inc ebx
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x1005a161
mov ecx, ebx
shl ecx, 4
mov dword [ebp - 0x50], ecx
mov edi, dword [ebp - 0x40]
mov edx, dword [edi]
mov ecx, dword [edx + 0x164]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x78], 0
test ecx, ecx
jne 0x1005afcf
mov ecx, dword [edi + 0x28]
lea eax, [ecx + 1]
mov dword [ebp - 0x4c], eax
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x58], ecx
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
test eax, eax
je 0x1005a1d2
mov ecx, dword [edi + 0x28]
inc ecx
mov dword [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
lea edx, [ecx + esi]
mov dword [edi + 0x28], edx
inc esi
mov dword [ebp - 0x44], esi
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1005a1be
xor edi, edi
mov dword [ebp - 0x8c], 0
cmp byte [ebp - 0x54], 0
jne 0x1005b056
mov esi, dword [ebp - 0x40]
mov eax, dword [esi + 8]
mov dword [ebp - 0x3c], eax
test eax, eax
mov dword [ebp - 0x94], edi
jne 0x1005a21f
cmp dword [esi + 0x78], 0
jne 0x1005a20d
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x1005a20d
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.1002f500
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x1005b215
cmp byte [esi + 0x12], 0
jne 0x1005a22f
mov eax, dword [ebp - 0x3c]
or byte [eax + 0x98], 0x10
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x78]
test esi, esi
cmove esi, eax
mov eax, dword [esi + 0x58]
xor edi, edi
inc edi
mov ecx, ebx
shl edi, cl
bt eax, ebx
jb 0x1005a257
or eax, edi
mov dword [esi + 0x58], eax
cmp ebx, 1
je 0x1005aa09
or dword [esi + 0x54], edi
mov eax, dword [ebp - 0x60]
or byte [esi + 0x14], al
cmp byte [ebp - 0x54], 0
jne 0x1005b075
xor edi, edi
lea ecx, [ebp - 0x38]
mov dword [ecx + 0x1c], edi
mov dword [ecx + 0x18], edi
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
mov eax, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 8]
call fcn.10030db0
test eax, eax
jne 0x1005a8b5
xor edi, edi
mov eax, dword [ebp - 0x6c]
test byte [eax + 0x24], 1
jne 0x1005b095
add dword [ebp - 0x64], 8
mov eax, dword [ebp - 0x78]
or eax, dword [ebp + 8]
setne al
mov ecx, dword [ebp - 0x60]
or al, cl
mov dword [ebp - 0x68], edi
je 0x1005aaea
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]
test byte [eax + 0x1c], 0x80
jne 0x1005a515
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1005ac60
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x4b
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 - 0x64], 0
mov dword [ecx + eax*4 + 0x10], edx
xor eax, eax
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x88], ebx
movzx eax, si
xor esi, esi
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x7c]
push dword [ebp - 0x4c]
push eax
push esi
push esi
push esi
push dword [ebp + 8]
call fcn.1003a780
add esp, 0x18
test eax, eax
je 0x1005b215
mov ebx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x78], ecx
mov cl, byte [eax + 0x2e]
mov byte [ebp - 0x60], cl
cmp cl, 1
jne 0x1005a501
test byte [eax + 0x30], 1
mov dword [ebp - 0x80], eax
je 0x1005a3cb
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1005ad5a
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x8f
mov edx, dword [ebp - 0x58]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
test edi, edi
jne 0x1005b0d1
cmp dword [ebp - 0x64], 0
jne 0x1005a5c6
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x4c], esi
jle 0x1005ac7e
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x87
mov edx, dword [ebp - 0x58]
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
cmp byte [ebp - 0x60], 0
je 0x1005a640
mov ecx, dword [ebp - 0x44]
lea edx, [ecx + 2]
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax + 0x12c]
cmp edx, eax
ja 0x1005a61a
cmp ecx, 0x7e
ja 0x1005a736
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + 0x150]
test eax, eax
je 0x1005a728
mov edi, eax
mov eax, dword [eax]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
jmp 0x1005a76f
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x9f], 0
jne 0x1005a069
xor eax, eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
mov edx, esi
push eax
push eax
push 0x80
call fcn.1004f5c0
add esp, 0xc
mov ebx, eax
lea eax, [edi + 0x2b]
mov dword [ebp - 0x84], eax
mov al, byte [esi + 0x2b]
cmp al, 2
sete byte [ebp - 0x54]
test ebx, ebx
je 0x1005a07e
mov cl, 1
mov dword [ebp - 0x60], ecx
xor edi, edi
inc edi
jmp 0x1005a113
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
cmp dword [ecx + 0x208], 0
jne 0x1005a4de
dec dword [edx + 0x18]
jne 0x1005a025
call fcn.1001dfd0
jmp 0x1005a025
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea edi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, edi
je 0x1005a003
jmp 0x1005a4f1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x78]
test edx, edx
cmove edx, ecx
mov byte [edx + 0x14], 1
jmp 0x1005a38b
mov edx, dword [ebp - 0x64]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x38]
and eax, 3
lea edx, [ecx + 0x14]
cmp eax, 2
jne 0x1005a518
mov dword [ebp - 0x64], ecx
movzx eax, word [ecx + 0x32]
mov edx, dword [ebp - 0x40]
mov edi, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
mov dword [ebp - 0x50], eax
cwde
lea ecx, [ebx + eax]
mov dword [edx + 0x2c], ecx
lea ecx, [edi + 1]
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
mov dword [ebp - 0x74], edi
jle 0x1005ae02
mov dword [ebp - 0x60], eax
mov eax, edx
inc edx
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
mov dword [ebp - 0x5c], eax
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x76
mov dword [ecx + edx*4 + 4], edi
mov eax, dword [ebp - 0x60]
mov dword [ecx + edx*4 + 8], eax
xor eax, eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
inc ebx
mov dword [ebp - 0x70], ebx
mov ecx, dword [ebp - 0x40]
mov edi, dword [ecx + 8]
mov edx, dword [ebp - 0x64]
call fcn.10040940
xor ebx, ebx
test eax, eax
je 0x1005a5be
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x1005b269
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4 - 0x13], 0xf8
mov dword [ecx + edx*4 - 4], eax
mov edi, dword [ebp - 0x68]
jmp 0x1005a348
movsx esi, word [ebp - 0x50]
test si, si
jle 0x1005aa15
mov dword [ebp - 0x90], ebx
xor edi, edi
mov eax, dword [ebp - 0x70]
add eax, edi
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx + 4]
mov ebx, esi
movsx esi, word [ecx + edi*2]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x48]
push eax
push esi
mov esi, ebx
push dword [ebp - 0x58]
call fcn.10035980
add esp, 0xc
inc edi
cmp ebx, edi
jne 0x1005a5db
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x4c], eax
mov edi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x90]
jmp 0x1005a424
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx + 0x128], 0
je 0x1005aeca
cmp byte [ecx + 0x57], 0
je 0x1005a75b
jmp 0x1005b20d
mov eax, esi
jmp 0x1005a0ed
cmp dword [ebp - 0x64], 0
jne 0x1005aca5
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
mov ebx, dword [ebp - 0x88]
jle 0x1005ae97
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x9c
mov dword [ecx + eax*4 + 4], ebx
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax*4 + 8], edx
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 - 0x50], eax
mov ecx, dword [ebp - 0x80]
call fcn.10031790
cmp byte [ebp - 0x54], 0
jne 0x1005a6ba
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 dword [ebp - 0x58]
push 8
push 0x71
call fcn.1004f080
add esp, 0x18
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 0x6c]
mov eax, dword [eax + 0x70]
cmp dword [ebp - 0x64], 0
jne 0x1005aa68
cmp eax, esi
jle 0x1005ae73
lea eax, [esi + 1]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x2e
mov dword [eax + ecx*4 + 4], ebx
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 - 0x44], 0
mov dword [eax + ecx*4 + 0x10], esi
mov esi, edi
mov al, 1
mov dword [ebp - 0x54], eax
xor edi, edi
jmp 0x1005a817
xor ebx, ebx
mov al, 1
mov dword [ebp - 0x60], eax
xor edi, edi
mov esi, dword [ebp - 0x48]
jmp 0x1005a11e
mov eax, dword [ecx + 0x14c]
test eax, eax
jne 0x1005ad73
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + 0x148]
test eax, eax
jne 0x1005ac96
mov eax, dword [ecx + 0x144]
test eax, eax
jne 0x1005ae36
inc dword [ecx + 0x140]
push 0
call fcn.10137840
add esp, 4
mov edi, eax
test eax, eax
je 0x1005b20d
mov esi, dword [ebp - 0x44]
lea eax, [esi + 1]
push eax
push 1
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [edi + esi + 1], 0
test ebx, ebx
js 0x1005a791
sub ebx, dword [ebp - 0x58]
mov byte [edi + ebx], 0
mov dword [ebp - 0x44], edi
mov eax, dword [ebp - 0x78]
test eax, eax
mov edx, dword [ebp - 0x5c]
js 0x1005a7a8
sub eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
mov byte [ecx + eax], 0
test edx, edx
jne 0x1005a901
mov eax, dword [ebp - 0x40]
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp byte [ebp - 0x54], 0
jne 0x1005a7ea
cmp byte [ebp - 0x60], 2
je 0x1005a9a4
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 dword [ebp - 0x58]
push 8
push 0x71
call fcn.1004f080
add esp, 0x18
mov eax, dword [ebp - 0x84]
cmp byte [eax], 1
je 0x1005b0f5
mov eax, dword [ebp - 0x14]
mov ecx, eax
sub ecx, dword [ebp - 0x58]
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x44]
cmp byte [edx + ecx], 0
jne 0x1005b1b3
xor esi, esi
mov dword [ebp - 0x5c], esi
mov eax, dword [ebp - 0x84]
cmp byte [eax], 1
je 0x1005b103
xor eax, eax
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + 0x12], 0
sete al
movzx esi, byte [ebp - 0x60]
movsx ebx, word [ebp - 0x50]
mov edx, dword [ebp - 0x48]
push dword [ebp - 0x78]
push esi
push 0xb
push eax
push ebx
push dword [ebp - 0x4c]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x98]
call fcn.1005b360
add esp, 0x24
cmp byte [ebp - 0x54], 0
jne 0x1005a93d
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + 0xc]
not edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005b1ff
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 0x80]
call fcn.10031790
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + 0x12], 0
jne 0x1005a8aa
cmp dword [ecx + 0x7c], 0
jne 0x1005a8aa
cmp dword [ecx + 0x74], 0
jne 0x1005b0eb
test edi, edi
jne 0x1005b0a9
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jne 0x1005b0c0
mov esi, dword [ebp - 0x6c]
mov ecx, esi
mov edx, dword [ebp - 0x7c]
call fcn.100172a0
mov edx, dword [ebp + 8]
test edx, edx
je 0x1005a8de
mov ecx, esi
call fcn.1014c9e0
test edi, edi
je 0x1005a8ec
mov ecx, dword [ebp - 0x6c]
mov edx, edi
call fcn.1014c8d0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
cmp byte [ecx + 0x57], 0
jne 0x1005a7b0
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 0x68]
lea edi, [edx + edx*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.100056c0
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb8
jmp 0x1005a7b0
cmp dword [ebp - 0x64], 0
jne 0x1005ac1d
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
mov edi, dword [ebp - 0x68]
jle 0x1005aeaf
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 ebx, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 8], ebx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1005b27c
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
jmp 0x1005a891
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], esi
jle 0x1005ae1b
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
mov byte [eax + ecx*4], 0xf
xorps xmm0, xmm0
movups xmmword [eax + ecx*4 + 1], xmm0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x58]
push 8
push 0x71
call fcn.1004f080
add esp, 0x18
mov eax, dword [ebx + 0x6c]
lea ecx, [eax - 1]
cmp ecx, esi
jne 0x1005b286
mov dword [ebx + 0x6c], esi
jmp 0x1005a7ea
mov ecx, esi
call fcn.10042310
jmp 0x1005a257
cmp byte [ebp - 0x60], 0
je 0x1005aca9
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x4c], eax
jmp 0x1005a42e
mov eax, dword [ebp - 0x3c]
mov bl, byte [eax]
test bl, bl
je 0x1005aee4
lea edx, [eax + 1]
xor eax, eax
movzx ecx, bl
movzx ecx, byte [ecx + 0x101af7e8]
add ecx, eax
imul eax, ecx, 0x9e3779b1
mov bl, byte [edx]
inc edx
test bl, bl
jne 0x1005aa3c
xor edx, edx
div dword [edi + 0x38]
lea edi, [esi + edx*8]
lea esi, [esi + edx*8]
add esi, 4
jmp 0x1005a0ab
cmp eax, esi
jle 0x1005af1f
lea eax, [esi + 1]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], edi
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 - 0x84]
cmp byte [eax], 1
je 0x1005b2d1
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1005af3b
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x86
mov dword [ecx + eax*4 + 4], edi
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 - 0x44], 0
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x1005a70b
mov eax, dword [ebp - 0x84]
cmp byte [eax], 1
je 0x1005a2c1
cmp ebx, 1
je 0x1005ab17
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x50]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
jne 0x1005b2e9
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1c], 0x80
jne 0x1005abb2
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x58], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x44], eax
xor esi, esi
cmp edi, 1
sbb esi, esi
or esi, edi
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1005af53
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x91
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x44]
mov dword [ecx + edx*4 + 4], edi
mov edi, dword [ebp - 0x3c]
mov dword [ecx + edx*4 + 8], ebx
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x58]
jne 0x1005abb2
test eax, eax
js 0x1005ae67
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1005ae45
test esi, esi
je 0x1005abb2
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], esi
mov byte [eax], 0xff
mov eax, dword [ebp - 0x64]
mov esi, dword [eax]
mov dword [ebp - 0x44], 0
test esi, esi
je 0x1005a891
mov eax, dword [esi + 0x38]
and eax, 3
cmp eax, 2
jne 0x1005abde
mov eax, dword [ebp - 0x48]
test byte [eax + 0x1c], 0x80
jne 0x1005b305
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x1005af6c
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x91
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 edi, dword [ebp - 0x68]
mov esi, dword [esi + 0x14]
jmp 0x1005abb7
mov eax, dword [ebp - 0x5c]
inc eax
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
mov edi, dword [ebp - 0x68]
jle 0x1005af82
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x27
mov ebx, dword [ebp - 0x74]
mov dword [edx + ecx*4 + 4], 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 0x1005a981
xor eax, eax
mov edx, 0x4b
push eax
push ebx
mov dword [ebp - 0x64], 0
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1005a32d
mov edx, 0x87
push 0
push esi
push dword [ebp - 0x58]
call fcn.10016c40
add esp, 0xc
jmp 0x1005a424
mov edi, eax
mov eax, dword [eax]
mov dword [ecx + 0x148], eax
jmp 0x1005a46a
movsx esi, word [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov ebx, dword [eax + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
mov edx, dword [ebp - 0x64]
call fcn.10042250
mov dword [ebp - 0x5c], eax
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], esi
jle 0x1005aeeb
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x61
mov esi, dword [ebp - 0x70]
mov dword [ecx + edx*4 + 4], esi
mov esi, dword [ebp - 0x44]
mov dword [ecx + edx*4 + 8], esi
mov dword [ecx + edx*4 + 0xc], ebx
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x1005b32b
test eax, eax
mov edi, dword [ebp - 0x74]
js 0x1005ae5b
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
cmp word [ebp - 0x50], 0
jns 0x1005ad85
cmp byte [ecx + eax*4 + 1], 0
jne 0x1005ad85
lea edx, [ecx + eax*4]
inc edx
cmp word [ebp - 0x50], 0xfffd
je 0x1005aed5
mov esi, dword [ebp - 0x5c]
test esi, esi
je 0x1005ad97
mov dword [ecx + eax*4 + 0x10], esi
mov eax, dword [ebp - 0x50]
mov byte [edx], al
cmp ax, 0xfff5
jne 0x1005ad97
inc dword [esi + 0xc]
jmp 0x1005ad97
xor eax, eax
mov edx, 0x8f
push eax
push eax
push dword [ebp - 0x58]
call fcn.10016c40
add esp, 0xc
jmp 0x1005a3cb
mov edi, eax
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 0x14c], eax
jmp 0x1005a46a
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x5c]
call fcn.10035ca0
add esp, 8
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005af04
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x8a
mov dword [ecx + edx*4 + 4], edi
mov ebx, dword [ebp - 0x4c]
mov dword [ecx + edx*4 + 8], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ecx + edx*4 + 0xc], ebx
mov dword [ecx + edx*4 + 0x10], 0
mov ebx, dword [ebp - 0x88]
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
mov ecx, dword [ebp - 0x80]
jne 0x1005adf6
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov byte [edx + eax*4 + 1], 0xfd
mov esi, dword [ebp - 0x44]
mov dword [edx + eax*4 + 0x10], esi
mov dword [ebp - 0x50], 0
jmp 0x1005a690
mov edx, 0x76
push 0
push eax
push edi
call fcn.10016c40
add esp, 0xc
mov dword [ebp - 0x5c], eax
jmp 0x1005a588
xor eax, eax
mov ecx, ebx
mov edx, 0xf
push eax
push eax
push eax
call fcn.10016c40
add esp, 0xc
mov esi, eax
jmp 0x1005a9d3
mov edi, eax
mov eax, dword [eax]
mov dword [ecx + 0x144], eax
jmp 0x1005a46a
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x3c]
push 0xffffffffffffffff
push esi
call fcn.10035ca0
add esp, 8
jmp 0x1005abb2
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x6c]
dec eax
jmp 0x1005ad19
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x6c]
dec eax
jmp 0x1005ab90
mov ecx, dword [ebp - 0x3c]
mov edx, 0x2e
push dword [ebp - 0x4c]
push 0
push ebx
call fcn.10016c40
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x44], 0
jmp 0x1005a70b
mov edx, 0x9c
push 0
push dword [ebp - 0x4c]
push ebx
call fcn.10016c40
add esp, 0xc
jmp 0x1005a687
xor eax, eax
mov ecx, esi
mov edx, 9
push eax
push dword [ebp - 0x5c]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1005a981
inc dword [ecx + 0x13c]
jmp 0x1005a75b
mov esi, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 0x10], esi
mov byte [edx], 0xfd
jmp 0x1005ad97
xor eax, eax
jmp 0x1005aa55
mov ecx, edi
mov edx, 0x61
push ebx
push esi
push dword [ebp - 0x70]
call fcn.10016c40
add esp, 0xc
jmp 0x1005ad02
mov ecx, esi
mov edx, 0x8a
push dword [ebp - 0x70]
push dword [ebp - 0x4c]
push edi
call fcn.10016c40
add esp, 0xc
jmp 0x1005add3
xor eax, eax
mov ecx, dword [ebp - 0x3c]
mov edx, 0x24
push eax
push eax
push edi
call fcn.10016c40
add esp, 0xc
mov esi, eax
jmp 0x1005aa98
mov edx, 0x86
push 0
push dword [ebp - 0x4c]
push edi
call fcn.10016c40
add esp, 0xc
jmp 0x1005ae8b
mov ecx, edi
mov edx, 0x91
push esi
push ebx
push dword [ebp - 0x44]
call fcn.10016c40
add esp, 0xc
jmp 0x1005ab7a
mov edx, 0x91
push 0
push ebx
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1005ac15
mov ecx, esi
mov edx, 0x27
push 0
push eax
push dword [ebp - 0x74]
jmp 0x1005aebd
mov ecx, dword [ebp - 0x40]
mov edx, esi
call fcn.10171270
test eax, eax
je 0x1005a129
jmp 0x1005afbe
mov eax, dword [ebp - 0x7c]
lea edx, [eax + 8]
mov ecx, dword [ebp - 0x40]
call fcn.10171180
test eax, eax
je 0x1005a043
xor edi, edi
jmp 0x1005a8c3
mov ebx, 0xffff8000
jmp 0x1005a16b
cmp byte [edx + 0xb1], 0
mov dword [ebp - 0x78], 0
jne 0x1005a194
cmp byte [edi + 0xd8], 0
mov dword [ebp - 0x78], 0
jne 0x1005a194
mov esi, dword [ebp - 0x50]
mov esi, dword [eax + esi]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov edi, dword [edi + 0x100]
mov eax, dword [edx + 0x168]
mov dword [ebp - 0x58], eax
call dword [section..00cfg]
push edi
push esi
push 0
push dword [ebp - 0x3c]
push 9
push dword [ebp - 0x58]
call ecx
add esp, 0x18
mov dword [ebp - 0x78], eax
cmp eax, 1
jne 0x1005b2b7
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [ebp - 0x40]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x1005afbe
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov edi, dword [ecx + 0x100]
mov dword [ecx + 0x100], eax
mov dword [ebp - 0x8c], ecx
jmp 0x1005a1e8
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x58]
push esi
push dword [ebp + 8]
call fcn.10178bb0
add esp, 8
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
jmp 0x1005a26a
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x12], 0
je 0x1005b223
xor edi, edi
jmp 0x1005a2a6
mov ecx, dword [ebp - 0x3c]
mov edx, edi
push str.rows_deleted
call fcn.10178d40
add esp, 4
jmp 0x1005a8b2
mov eax, dword [ebp - 0x94]
mov dword [ecx + 0x100], eax
jmp 0x1005a8c3
mov ecx, dword [ebp - 0x3c]
mov edx, 0x56
push 0
push 1
push edi
call fcn.1002fb80
add esp, 0xc
jmp 0x1005a3d3
call fcn.10178db0
jmp 0x1005a8aa
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x34]
xor ebx, ebx
test eax, eax
jne 0x1005b1a0
mov esi, dword [ebp - 0x40]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.10178cd0
mov eax, dword [esi + 0x78]
test eax, eax
cmove eax, esi
mov byte [eax + 0x15], 1
cmp byte [ebp - 0x60], 1
jne 0x1005b158
xor esi, esi
mov ecx, dword [ebp - 0x3c]
mov edx, 0x7a
push esi
push esi
push dword [ebp - 0x58]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x78], esi
jne 0x1005b158
mov eax, dword [ebp - 0x40]
mov byte [eax + 0x14], 0
mov esi, dword [ebp - 0x3c]
mov ecx, esi
mov edx, 7
push dword [ebp - 0x4c]
push 1
push 0
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff5
push ebx
call fcn.1003a120
add esp, 8
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x1005a85f
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 2
jmp 0x1005a85f
mov ecx, dword [ebp - 0x6c]
cmp dword [eax], ecx
je 0x1005b21c
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x1005b1a3
jmp 0x1005b113
mov esi, dword [ebp - 0x3c]
mov ecx, esi
mov edx, 0x1c
push dword [ebp - 0x4c]
push edi
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi]
mov dword [ebp - 0x54], 0
cmp byte [ecx + 0x57], 0
jne 0x1005a815
movsx ecx, word [ebp - 0x50]
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 - 0x54], 0
jmp 0x1005a815
push edi
call fcn.10032440
add esp, 4
jmp 0x1005a886
mov ecx, dword [ebp - 0x80]
call fcn.10031790
xor edi, edi
jmp 0x1005a8b5
mov ebx, eax
jmp 0x1005b113
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x7c], 0
jne 0x1005b0a2
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x9d], 0
mov edi, 0
jne 0x1005a2a6
mov eax, dword [ebp - 0x40]
mov edi, dword [eax + 0x2c]
inc edi
mov dword [eax + 0x2c], edi
xor eax, eax
mov ecx, dword [ebp - 0x3c]
mov edx, 0x47
push eax
push edi
push eax
call fcn.1002fb80
add esp, 0xc
jmp 0x1005a2a6
cmp dword [ecx + 0x208], 0
je 0x1005b2a7
mov edi, dword [ebp - 0x68]
xor ebx, ebx
jmp 0x1005a348
mov ecx, 0x101f2320
jmp 0x1005a99c
mov edx, dword [ebx]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1005b29f
lea ecx, [esi + esi*4]
shl ecx, 2
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x1005a7ea
dec dword [eax]
jne 0x1005b272
mov ecx, dword [eax + 0xc]
mov edx, eax
call fcn.1014c8d0
jmp 0x1005b272
test dword [ebp - 0x78], 0xfffffffd
je 0x1005b34d
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x1005b041
mov ecx, dword [ebp - 0x3c]
mov edx, 0x5e
push dword [ebp - 0x4c]
push 0
push edi
call fcn.1002fb80
jmp 0x1005af4b
mov ecx, dword [ebp - 0x40]
mov edx, ebx
mov eax, dword [ebp - 0x48]
push dword [eax]
push 1
push dword [eax + 0x14]
call fcn.10046570
add esp, 0xc
jmp 0x1005ab17
xor eax, eax
mov edi, dword [ebp - 0x68]
cmp edi, 1
sbb eax, eax
or eax, edi
mov ecx, dword [ebp - 0x3c]
mov edx, 0x91
push eax
push ebx
push dword [esi + 0x2c]
call fcn.1002fb80
add esp, 0xc
jmp 0x1005ac18
cmp word [ebp - 0x50], 0xfff5
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x5c]
je 0x1005ad97
mov edx, dword [ebp - 0x44]
push eax
call fcn.100056c0
add esp, 4
jmp 0x1005ad97
mov edi, dword [ebp - 0x40]
jmp 0x1005a194