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

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x68
push 0xffffffffffffffff
push 0x1025237d
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x10291440]
xor eax, ebp
mov dword [ebp + 0x64], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], ecx
mov ebx, dword [ebp + 0x70]
mov esi, dword [ebp + 0x74]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], esi
call fcn.101eace0
mov edi, eax
mov dword [ebp - 0x30], edi
mov eax, dword [ebp + 0x78]
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
mov eax, dword [eax + 0x30]
shr eax, 3
test al, 1
jne 0x101b4ab1
cmp dword [0x1029982c], 2
mov byte [ebp - 0x18], 0
jne 0x101b4ab5
mov byte [ebp - 0x18], 1
mov eax, dword [esi]
mov ecx, esi
mov word [ebp + 0x48], 0x4d4f
mov eax, dword [eax + 0xb4]
call eax
test al, al
mov ecx, esi
setne al
lea eax, [eax*4 + 0x50]
mov byte [ebp + 0x4a], al
mov al, byte [0x1029114c]
mov byte [ebp + 0x4b], al
mov eax, dword [esi]
call dword [eax + 0xa8]
mov dword [ebp + 0x4c], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xac]
mov dword [ebp + 0x50], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xb0]
push 0
mov dword [ebp + 0x54], eax
mov ecx, ebx
push 4
lea eax, [ebp + 0x48]
push eax
call fcn.10005db5
push dword [ebp - 0x18]
lea eax, [ebp + 0x4c]
push eax
push ebx
call fcn.10004537
push dword [ebp - 0x18]
mov esi, eax
lea eax, [ebp + 0x50]
push eax
push ebx
call fcn.10004537
push dword [ebp - 0x18]
lea ebx, [esi + eax]
mov esi, dword [ebp - 0x20]
lea eax, [ebp + 0x54]
push eax
push esi
call fcn.10004537
add ebx, 4
add esp, 0x24
add eax, ebx
mov ebx, dword [ebp - 0x28]
add dword [ebp - 0x14], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xa8]
test eax, eax
je 0x101b4c87
mov eax, dword [ebx]
lea ecx, [ebp + 0x58]
push 0
push ecx
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
and dword [ebp - 0x1c], 0xfffffe00
mov eax, dword [eax + 0xc]
call eax
test al, al
mov eax, dword [ebp - 0x1c]
je 0x101b4b93
and eax, 0xffff57ff
or eax, 0x5600
jmp 0x101b4b9d
and eax, 0xffff17ff
or eax, 0x1600
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xc]
call eax
xor ecx, ecx
test al, al
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], eax
je 0x101b4c28
test eax, eax
je 0x101b4c87
mov edi, ebx
mov eax, dword [edi]
push ecx
lea ecx, [ebp + 0x18]
push ecx
mov ecx, edi
call dword [eax + 8]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 8]
mov ebx, eax
push ecx
push dword [ebp - 0x20]
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 0x10]
add ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.101b24e0
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x2c]
jb 0x101b4bd5
jmp 0x101b4c81
test eax, eax
je 0x101b4c87
mov edi, ebx
nop
mov eax, dword [edi]
push ecx
lea ecx, [ebp + 0x58]
push ecx
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 4]
mov ebx, eax
push ecx
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 8]
add ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.1000c1c6
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x2c]
jb 0x101b4c30
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
test eax, eax
je 0x101b4dea
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 4
test al, 1
je 0x101b4dea
mov eax, dword [ebx]
lea ecx, [ebp + 0x58]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [ebx]
lea ecx, [ebp + 0x18]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
and eax, 0xfffffe21
or eax, 0x20
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x20]
call eax
test al, al
mov eax, dword [ebp - 0x1c]
je 0x101b4cee
and eax, 0xffff57ff
or eax, 0x5600
jmp 0x101b4cf8
and eax, 0xffff17ff
or eax, 0x1600
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x20]
call eax
xor ecx, ecx
test al, al
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], eax
je 0x101b4d8a
test eax, eax
je 0x101b4dea
mov edi, dword [ebp - 0x28]
mov eax, dword [edi]
push ecx
lea ecx, [ebp + 0x30]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 8]
mov ebx, eax
push ecx
push dword [ebp - 0x20]
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 0x10]
add ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.101b24e0
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x2c]
jb 0x101b4d31
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x28]
jmp 0x101b4ded
test eax, eax
je 0x101b4dea
mov edi, dword [ebp - 0x28]
mov eax, dword [edi]
push ecx
lea ecx, [ebp + 0x3c]
push ecx
mov ecx, edi
call dword [eax + 0x14]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 4]
mov ebx, eax
push ecx
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 8]
add ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.1000c1c6
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x2c]
jb 0x101b4d91
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x28]
jmp 0x101b4ded
mov esi, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
test eax, eax
je 0x101b4f13
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 5
test al, 1
je 0x101b4f13
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xbc]
call eax
test al, al
je 0x101b4f13
mov eax, dword [ebx]
lea ecx, [ebp - 0x38]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x2c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff1081
or eax, 0x1080
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x4c]
add esp, 0xc
mov dword [ebp + 0x44], eax
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x101b4f13
mov edi, dword [ebp - 0x28]
jmp 0x101b4e72
mov esi, ebx
mov eax, dword [edi]
push ecx
lea ecx, [ebp - 0x34]
push ecx
mov ecx, edi
call dword [eax + 0x2c]
mov ebx, eax
lea eax, [ebp - 0xd]
push 0
push 1
push eax
mov cl, byte [ebx]
mov byte [ebp - 0xd], cl
mov ecx, esi
call fcn.10005db5
mov ecx, dword [esi]
push 0
push 1
mov eax, dword [ecx + 4]
mov ecx, esi
mov eax, dword [eax + esi + 0xc]
mov dword [ebp - 0x2c], eax
mov al, byte [ebx + 1]
mov byte [ebp - 0xd], al
lea eax, [ebp - 0xd]
push eax
call fcn.10005db5
mov eax, dword [esi]
push 0
push 1
mov eax, dword [eax + 4]
mov esi, dword [esi + eax + 0xc]
mov al, byte [ebx + 2]
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
mov byte [ebp - 0xd], al
lea eax, [ebp - 0xd]
push eax
call fcn.10005db5
mov eax, dword [ebx]
xor ecx, ecx
mov eax, dword [eax + 4]
cmp dword [eax + ebx + 0xc], ecx
sete cl
xor eax, eax
test esi, esi
sete al
add ecx, eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
sete al
add eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp + 0x44]
jb 0x101b4e70
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
test eax, eax
je 0x101b4fc8
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 6
test al, 1
je 0x101b4fc8
mov eax, dword [ebx]
lea ecx, [ebp + 0x5c]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x70]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
and eax, 0xffff0e41
or eax, 0xe40
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x4c]
add esp, 0xc
mov dword [ebp + 0x44], eax
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x101b4fcb
mov edi, dword [ebp - 0x28]
nop dword [eax + eax]
mov eax, dword [edi]
push ecx
lea ecx, [ebp + 0x5c]
push ecx
mov ecx, edi
call dword [eax + 0x70]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 4]
mov ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.1000c1c6
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
add esp, 0x18
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp + 0x44]
jb 0x101b4f80
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x28]
jmp 0x101b4fcb
mov esi, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
test eax, eax
je 0x101b5198
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
and eax, 0xffffd6f8
or eax, 0x16f8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
call dword [eax + 0xb0]
shl eax, 2
push eax
call fcn.101ebf50
mov ecx, dword [ebp - 0x1c]
and eax, 3
push dword [ebp - 0x18]
shl eax, 0xe
and ecx, 0xffff3fff
or eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x54]
add esp, 0x10
add eax, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp + 0x60], eax
test eax, eax
je 0x101b5198
nop dword [eax]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x98]
mov edx, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
call dword [edx + 0x9c]
mov edx, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
call dword [edx + 0xa0]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0xe
mov dword [ebp - 0x24], eax
and ecx, 3
jmp dword [ecx*4 + 0x101b5a38]
cmp byte [0x1029114c], 0x41
jbe 0x101b5240
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
test eax, eax
je 0x101b5240
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xa
test al, 1
je 0x101b5240
mov eax, dword [ebx]
lea ecx, [ebp + 0x5c]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x6c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff0e59
or eax, 0xe58
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebp + 0x54]
add eax, eax
mov dword [ebp + 0x60], eax
je 0x101b5240
xor edi, edi
mov eax, dword [ebx]
lea ecx, [ebp + 0x40]
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x6c]
push dword [ebp - 0x18]
mov esi, eax
push esi
push dword [ebp - 0x20]
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 4]
mov ebx, eax
mov esi, dword [ebp - 0x20]
push ecx
push esi
call fcn.1000c1c6
add eax, ebx
inc edi
add dword [ebp - 0x14], eax
add esp, 0x18
mov ebx, dword [ebp - 0x28]
cmp edi, dword [ebp + 0x60]
jb 0x101b5200
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
test eax, eax
je 0x101b531c
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
and eax, 0xffffc6e0
or eax, 0x6e0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
call dword [eax + 0xb0]
shl eax, 2
push eax
call fcn.101ebf50
mov ecx, dword [ebp - 0x1c]
and eax, 3
push dword [ebp - 0x18]
shl eax, 0xe
and ecx, 0xffff3fff
or eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x4c]
add esp, 0x10
mov dword [ebp - 0x24], ecx
mov dword [ebp + 0x44], eax
test eax, eax
je 0x101b531c
nop dword [eax + eax]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x94]
mov ecx, dword [ebp - 0x1c]
shr ecx, 0xe
and ecx, 3
jmp dword [ecx*4 + 0x101b5a68]
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
and eax, 0xffffc6e9
or eax, 0x6e8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
call dword [eax + 0xb0]
shl eax, 2
push eax
call fcn.101ebf50
mov ecx, dword [ebp - 0x1c]
and eax, 3
push dword [ebp - 0x18]
shl eax, 0xe
and ecx, 0xffff3fff
or eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x50]
add esp, 0x10
mov dword [ebp - 0x24], ecx
mov dword [ebp + 0x44], eax
test eax, eax
je 0x101b53ea
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebx]
shr esi, 0xe
push ecx
mov ecx, ebx
and esi, 3
call dword [eax + 0x90]
jmp dword [esi*4 + 0x101b5a78]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xac]
test eax, eax
je 0x101b5550
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xd4]
call eax
test al, al
je 0x101b5550
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 8
test al, 1
je 0x101b5550
mov eax, dword [ebx]
lea ecx, [ebp + 0x3c]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x10]
mov eax, dword [ebx]
lea ecx, [ebp]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
and eax, 0xfffffe29
or eax, 0x28
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x20]
call eax
test al, al
mov eax, dword [ebp - 0x1c]
je 0x101b5465
and eax, 0xffff57ff
or eax, 0x5600
jmp 0x101b546f
and eax, 0xffff17ff
or eax, 0x1600
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x20]
call eax
xor ecx, ecx
test al, al
mov eax, dword [ebp + 0x50]
mov dword [ebp - 0x24], ecx
mov dword [ebp + 0x60], eax
je 0x101b54f7
test eax, eax
je 0x101b5550
mov edi, dword [ebp - 0x20]
mov eax, dword [ebx]
push ecx
lea ecx, [ebp + 0x18]
push ecx
mov ecx, ebx
call dword [eax + 0x18]
push dword [ebp - 0x18]
mov esi, eax
push esi
push edi
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 8]
mov ebx, eax
push ecx
push edi
call fcn.101b24e0
push dword [ebp - 0x18]
lea ecx, [esi + 0x10]
add ebx, eax
push ecx
push edi
call fcn.101b24e0
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
mov ebx, dword [ebp - 0x28]
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp + 0x60]
jb 0x101b54a8
jmp 0x101b554d
test eax, eax
je 0x101b5550
mov edi, dword [ebp - 0x20]
nop
mov eax, dword [ebx]
push ecx
lea ecx, [ebp + 0x24]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
push dword [ebp - 0x18]
mov esi, eax
push esi
push edi
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 4]
mov ebx, eax
push ecx
push edi
call fcn.1000c1c6
push dword [ebp - 0x18]
lea ecx, [esi + 8]
add ebx, eax
push ecx
push edi
call fcn.1000c1c6
mov ecx, dword [ebp - 0x24]
add eax, ebx
add dword [ebp - 0x14], eax
inc ecx
mov ebx, dword [ebp - 0x28]
add esp, 0x24
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp + 0x60]
jb 0x101b5500
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xac]
test eax, eax
je 0x101b5660
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xd8]
call eax
test al, al
je 0x101b5660
mov eax, dword [ebp + 0x78]
mov esi, dword [ebp - 0x20]
mov eax, dword [eax + 0x30]
shr eax, 9
test al, 1
je 0x101b5663
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff1089
or eax, 0x1088
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
xor ecx, ecx
mov eax, dword [ebp + 0x50]
add esp, 0xc
mov dword [ebp + 0x44], eax
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x101b5663
mov edi, esi
mov eax, dword [ebx]
push ecx
lea ecx, [ebp - 0x34]
push ecx
mov ecx, ebx
call dword [eax + 0x28]
mov ebx, eax
lea eax, [ebp - 0xd]
push 0
push 1
push eax
mov cl, byte [ebx]
mov byte [ebp - 0xd], cl
mov ecx, edi
call fcn.10005db5
mov ecx, dword [edi]
push 0
push 1
mov eax, dword [ecx + 4]
mov ecx, edi
mov eax, dword [edi + eax + 0xc]
mov dword [ebp + 0x60], eax
mov al, byte [ebx + 1]
mov byte [ebp - 0xd], al
lea eax, [ebp - 0xd]
push eax
call fcn.10005db5
mov eax, dword [edi]
mov ecx, edi
push 0
push 1
mov eax, dword [eax + 4]
mov esi, dword [edi + eax + 0xc]
mov al, byte [ebx + 2]
mov byte [ebp - 0xd], al
lea eax, [ebp - 0xd]
push eax
call fcn.10005db5
mov eax, dword [edi]
xor ecx, ecx
mov ebx, dword [ebp - 0x28]
mov eax, dword [eax + 4]
cmp dword [eax + edi + 0xc], ecx
sete cl
xor eax, eax
test esi, esi
sete al
add ecx, eax
xor eax, eax
cmp dword [ebp + 0x60], eax
sete al
add eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp + 0x44]
jb 0x101b55c2
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
test eax, eax
je 0x101b5700
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xc0]
call eax
test al, al
je 0x101b5700
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xe
test al, 1
je 0x101b5700
mov eax, dword [ebx]
lea ecx, [ebp - 0x24]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x80]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff0061
or eax, 0x60
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x44], eax
test eax, eax
je 0x101b5700
xor edi, edi
nop
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x80]
push dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x60]
push eax
push esi
call fcn.10004537
add dword [ebp - 0x14], eax
inc edi
add esp, 0xc
cmp edi, dword [ebp + 0x44]
jb 0x101b56d0
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
test eax, eax
je 0x101b579d
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xcc]
call eax
test al, al
je 0x101b579d
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xe
test al, 1
je 0x101b579d
mov eax, dword [ebx]
lea ecx, [ebp - 0x24]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x78]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff0071
or eax, 0x70
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x44], eax
test eax, eax
je 0x101b579d
xor edi, edi
nop dword [eax]
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x78]
push dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x60]
push eax
push esi
call fcn.10004537
add dword [ebp - 0x14], eax
inc edi
add esp, 0xc
cmp edi, dword [ebp + 0x44]
jb 0x101b5770
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
test eax, eax
je 0x101b5833
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xd0]
call eax
test al, al
je 0x101b5833
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xe
test al, 1
je 0x101b5833
mov eax, dword [ebx]
lea ecx, [ebp - 0x24]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x74]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff0079
or eax, 0x78
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebp + 0x54]
add eax, eax
mov dword [ebp + 0x44], eax
je 0x101b5833
xor edi, edi
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x74]
push dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x60]
push eax
push esi
call fcn.10004537
add dword [ebp - 0x14], eax
inc edi
add esp, 0xc
cmp edi, dword [ebp + 0x44]
jb 0x101b5806
mov edi, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xac]
test eax, eax
je 0x101b58cd
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xdc]
call eax
test al, al
je 0x101b58cd
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xe
test al, 1
je 0x101b58cd
mov eax, dword [ebx]
lea ecx, [ebp - 0x24]
push 0
push ecx
mov ecx, ebx
call dword [eax + 0x7c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
and eax, 0xffff0069
or eax, 0x68
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push esi
call fcn.101b2580
add dword [ebp - 0x14], eax
add esp, 0xc
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x44], eax
test eax, eax
je 0x101b58cd
xor edi, edi
nop dword [eax]
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x7c]
push dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x60]
push eax
push esi
call fcn.10004537
add dword [ebp - 0x14], eax
inc edi
add esp, 0xc
cmp edi, dword [ebp + 0x44]
jb 0x101b58a0
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x30]
shr eax, 0xd
test al, 1
je 0x101b59b0
mov eax, dword [ebp - 0x3c]
mov ecx, ebx
mov dword [ebp + 0x20], eax
mov al, byte [ebp - 0x18]
mov byte [ebp + 0x28], al
lea eax, [ebp - 0x14]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebx]
mov dword [ebp + 0x24], esi
call dword [eax + 0xa4]
mov ecx, ebx
mov esi, dword [eax + 8]
mov eax, dword [ebx]
call dword [eax + 0xa4]
push 0
lea ecx, [ebp + 0x20]
mov eax, dword [eax + 0xc]
push eax
push esi
call fcn.101b2f20
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa4]
mov ecx, ebx
mov esi, dword [eax + 0x38]
mov eax, dword [ebx]
call dword [eax + 0xa4]
push 2
lea ecx, [ebp + 0x20]
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.101b2f20
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa4]
mov ecx, ebx
mov esi, dword [eax + 0x28]
mov eax, dword [ebx]
call dword [eax + 0xa4]
push 4
lea ecx, [ebp + 0x20]
mov eax, dword [eax + 0x2c]
push eax
push esi
call fcn.101b2f20
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa4]
mov ecx, ebx
mov esi, dword [eax + 0x18]
mov eax, dword [ebx]
call dword [eax + 0xa4]
push 6
lea ecx, [ebp + 0x20]
mov eax, dword [eax + 0x1c]
push eax
push esi
call fcn.101b2f20
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa4]
mov ecx, ebx
mov esi, dword [eax + 0x4c]
mov eax, dword [ebx]
call dword [eax + 0xa4]
push 1
push esi
lea ecx, [ebp + 0x20]
push dword [eax + 0x48]
call fcn.101b2f20
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x1c
push eax
push dword [ebp - 0x20]
call fcn.101b2580
mov ecx, dword [ebp - 0x14]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x14], ecx
push ecx
push str.bytes_written:
call fcn.101eace0
push eax
call fcn.10007cd6
add esp, 8
mov ecx, eax
call fcn.101b2d70
push eax
call fcn.10007e5c
add esp, 4
mov byte [edi + 0x68], 1
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x64]
xor ecx, ebp
call fcn.1021eb98
lea esp, [ebp + 0x68]
pop ebp
ret 0xc