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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 0x24]
push edi
push esi
push dword [ebp + 8]
mov edi, ecx
call fcn.1015b286
xor ecx, ecx
mov dword [edi], 0x10006844
xor edx, edx
mov dword [ebp - 0x18], ecx
inc edx
mov dword [edi + 0x14], ecx
lea ebx, [edi + 0x10]
mov dword [edi + 0x18], ecx
mov dword [ebx], ecx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], ecx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x54], ecx
mov dword [edi + 0x58], ecx
mov dword [edi + 0x5c], edx
mov dword [edi + 0x60], ecx
mov dword [edi + 0x64], ecx
mov dword [edi + 0x68], ecx
mov dword [edi + 0x6c], 5
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], 0x80004005
cmp dword [edi + 0xc], ecx
jne 0x10159a19
push 0x38
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
call fcn.10183515
pop ecx
test eax, eax
je 0x10158ed4
push esi
push ecx
push ecx
push dword [edi + 4]
mov ecx, eax
call fcn.1015c09c
jmp 0x10158ed6
xor eax, eax
lea ecx, [ebp - 8]
mov dword [ebp - 8], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
mov eax, dword [ebp + 8]
xor edx, edx
push 8
pop ecx
mov dword [eax + 0x10], edi
lea eax, [edi + 0x80]
mov dword [eax - 8], edx
mov dword [eax + 4], edx
mov dword [eax], edx
lea eax, [eax + 0x1c]
mov dword [eax - 0x20], edx
mov dword [eax - 0x14], edx
mov dword [eax - 0x10], edx
mov dword [eax - 0xc], edx
sub ecx, 1
jne 0x10158efa
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x10158f2f
push esi
push dword [edi + 4]
mov ecx, eax
call fcn.1016835c
jmp 0x10158f31
xor eax, eax
mov ecx, ebx
mov dword [ebx], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x10158f5d
push esi
push dword [edi + 4]
mov ecx, eax
call fcn.1016835c
xor ebx, ebx
jmp 0x10158f61
xor ebx, ebx
mov eax, ebx
lea ecx, [edi + 0x14]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x10158f8c
push esi
push dword [edi + 4]
mov ecx, eax
call fcn.1016835c
jmp 0x10158f8e
mov eax, ebx
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
mov ebx, dword [ebp - 4]
test eax, eax
je 0x101598a4
push esi
push dword [ebp + 0x10]
mov ecx, ebx
call fcn.1016872b
xor eax, eax
cmp dword [ebx + 0xc], eax
jne 0x101598a4
mov eax, dword [edi + 0x14]
push 0x6c
or dword [eax + 0x50], 0x204
mov eax, dword [edi + 0x14]
mov dword [edi + 0x18], eax
call fcn.10183515
pop ecx
test eax, eax
je 0x10158fe3
push esi
push dword [edi + 4]
mov ecx, eax
call fcn.1016835c
jmp 0x10158fe5
xor eax, eax
lea ecx, [edi + 0x1c]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598a4
mov eax, dword [edi + 0x1c]
or dword [eax + 0x50], 6
push dword [edi + 0x14]
mov ecx, dword [edi + 0x1c]
call fcn.101685d9
test eax, eax
je 0x101598a4
mov eax, dword [edi + 0x1c]
push 0x6c
mov dword [edi + 0x20], eax
call fcn.10183515
pop ecx
test eax, eax
je 0x10159047
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0xa
push dword [edi + 0x10]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x10159049
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598a4
push dword [ebp + 0x18]
mov ecx, edi
push esi
push dword [ebx + 0x34]
call fcn.1015ad03
test eax, eax
je 0x101598a4
mov eax, dword [edi + 0x30]
test eax, eax
je 0x1015989f
cmp dword [eax + 0x24], 1
jne 0x1015989f
push esi
push eax
push ebx
mov ecx, edi
call fcn.101657b6
test eax, eax
je 0x101598a4
mov ecx, dword [ebp - 4]
push ebx
call fcn.1015b80f
push 0x6c
call fcn.10183515
lea ebx, [edi + 0x10]
pop ecx
test eax, eax
je 0x101590d4
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x14
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x101590d6
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x10159118
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x16
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x1015911a
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x1015915c
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x18
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x1015915e
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x101591a0
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x19
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x101591a2
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x101591e4
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x1a
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x101591e6
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
push 0x6c
call fcn.10183515
pop ecx
test eax, eax
je 0x10159228
mov edx, dword [edi + 0x5c]
push esi
lea ecx, [edx + 1]
push ecx
push ecx
push edx
mov dword [edi + 0x5c], ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push 0x15
push dword [ebx]
mov ecx, eax
push dword [edi + 4]
call fcn.101683f8
jmp 0x1015922a
xor eax, eax
lea ecx, [ebp - 4]
mov dword [ebp - 4], eax
call fcn.1015ac10
test eax, eax
je 0x101598ba
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.1015c5da
push 0x100356e8
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push 1
push ebx
push ecx
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035368
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push 1
push ebx
push ecx
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10034d94
mov ecx, ebx
call fcn.1015c2b5
xor eax, eax
cmp dword [ebx + 0xc], eax
jne 0x101598bd
push esi
push ecx
push 1
push ebx
push 1
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x1003545c
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035450
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10034034
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035464
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035448
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x1003543c
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035478
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035470
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x1003582c
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x1003581c
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x10035808
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
mov ecx, ebx
call fcn.1015c5da
push 0x100357f4
mov ecx, ebx
call fcn.1015c2b5
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x101598bd
push esi
push ecx
push ecx
push ebx
push 2
mov ecx, edi
call fcn.10169969
cmp eax, 1
jne 0x101598bd
push 0x18
call fcn.10183515
pop ecx
test eax, eax
je 0x10159898
push esi
push ecx
push 8
push dword [edi + 4]
mov ecx, eax
call fcn.1015cbbd
mov dword [edi + 0x2c], eax
test eax, eax
je 0x101598bd
xor ecx, ecx
cmp dword [eax + 0xc], ecx
jne 0x101598bd
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0xc]
push esi
push ecx
mov ecx, eax
call fcn.1015cc5b
test eax, eax
je 0x101598bd
push esi
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.10168bcb
cmp eax, 1
jne 0x101598bd
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x6c]
test ecx, ecx
je 0x101595bf
or eax, 2
jmp 0x101595c2
and eax, 0xfffffffd
cmp dword [ebp + 0x1c], 0
mov dword [edi + 0x6c], eax
je 0x101595d9
test ecx, ecx
jne 0x101595d9
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x101598bd
cmp dword [ebp + 0x18], 0
je 0x10159611
test ecx, ecx
je 0x10159611
test esi, esi
je 0x101595cf
push 2
mov edx, 0x100354d0
mov ecx, esi
call fcn.1015aefa
mov edx, dword [ebp + 0x10]
mov ecx, esi
push 2
call fcn.1015d4c9
push 2
mov edx, 0x100354cc
mov ecx, esi
call fcn.1015aefa
jmp 0x101595cf
push esi
xor eax, eax
mov ecx, edi
push eax
push eax
call fcn.1015adca
xor eax, eax
cmp dword [edi + 0x24], eax
je 0x101598bd
push 0x38
call fcn.10183515
pop ecx
test eax, eax
je 0x10159643
push esi
push ecx
push ecx
push dword [edi + 4]
mov ecx, eax
call fcn.1015c09c
jmp 0x10159645
xor eax, eax
lea ecx, [edi + 0x4c]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598bd
push 0x38
call fcn.10183515
pop ecx
test eax, eax
je 0x10159672
push esi
push ecx
push ecx
push dword [edi + 4]
mov ecx, eax
call fcn.1015c09c
jmp 0x10159674
xor eax, eax
lea ecx, [edi + 0x50]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598bd
push 0x38
call fcn.10183515
pop ecx
test eax, eax
je 0x101596a3
push esi
push ecx
push ecx
push dword [edi + 4]
mov ecx, eax
call fcn.1015c09c
xor esi, esi
jmp 0x101596a7
xor esi, esi
mov eax, esi
lea ecx, [edi + 0x54]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598bd
push 0x18
mov dword [edi + 0x88], esi
call fcn.10183515
mov esi, eax
mov dword [ebp - 8], esi
pop ecx
test esi, esi
je 0x10159708
mov ecx, dword [ebp + 0x10]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x18]
jne 0x101596d6
push dword [ebp + 0x24]
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
mov ecx, esi
push eax
push dword [ebp + 0x10]
push dword [edi + 4]
call fcn.1015b9e7
mov dword [esi], 0x1000682c
xor ecx, ecx
jmp 0x1015970f
xor ecx, ecx
mov esi, ecx
mov dword [ebp - 8], ecx
mov dword [edi + 0x78], esi
test esi, esi
je 0x101598bd
mov eax, dword [esi + 0xc]
cmp eax, 2
jne 0x1015973f
mov eax, dword [esi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 8]
call esi
xor eax, eax
mov dword [edi + 0x78], eax
jmp 0x101598bd
cmp eax, 1
jne 0x1015974c
mov dword [edi + 0x78], ecx
jmp 0x101598bd
test eax, eax
jne 0x10159722
mov dword [edi + 0x84], ecx
mov dword [edi + 0x8c], edi
mov eax, dword [edi + 4]
push 0x20
mov dword [edi + 0x90], eax
call fcn.10183515
pop ecx
test eax, eax
je 0x10159785
push dword [ebp + 0x24]
xor ecx, ecx
push ecx
push edi
push ecx
push dword [edi + 4]
mov ecx, eax
call fcn.1015d10e
jmp 0x10159787
xor eax, eax
lea ecx, [edi + 0x7c]
mov dword [ecx], eax
call fcn.1015ac10
test eax, eax
je 0x101598bd
push dword [ebp + 0x24]
mov ecx, edi
mov dword [edi + 0x68], 1
push dword [ebp + 0x20]
push dword [ebp + 0xc]
call fcn.10165eda
cmp eax, 1
jne 0x101598bd
push dword [ebp + 0x24]
mov ecx, edi
call fcn.101658af
cmp eax, 1
jne 0x101598bd
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x101597e9
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
mov eax, dword [edi + 0x50]
xor esi, esi
mov dword [edi + 0x54], esi
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1015980d
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
xor esi, esi
mov dword [edi + 0x50], esi
jmp 0x10159819
mov ecx, edi
call fcn.1015acc5
cmp dword [edi + 0x24], esi
jne 0x10159812
jmp 0x10159827
mov ecx, edi
call fcn.1015ac8e
cmp dword [edi + 0x30], esi
jne 0x10159820
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
mov esi, dword [ebp + 0x24]
lea ecx, [ebp - 8]
xor eax, eax
mov dword [ebp - 8], 1
cmp dword [ebp - 0x14], eax
lea edx, [edi + 0x60]
push ecx
mov ecx, dword [ebp + 8]
mov ebx, eax
push esi
push edx
mov edx, dword [ebp + 0x14]
setne al
push eax
push dword [edi + 8]
call fcn.1016529a
test eax, eax
jne 0x10159885
cmp dword [ebp - 8], ebx
je 0x101598bd
test esi, esi
je 0x10159885
push 2
mov edx, 0x100358c4
mov ecx, esi
call fcn.1015aefa
mov eax, dword [edi + 0x60]
mov dword [edi + 0x84], eax
xor eax, eax
mov dword [edi + 0x74], eax
jmp 0x10159a19
xor eax, eax
mov dword [edi + 0x2c], eax
jmp 0x101598bd
xor eax, eax
mov dword [ebp - 0x10], eax
test ebx, ebx
je 0x101598ba
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
mov ebx, dword [ebp - 8]
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x101598da
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
mov eax, dword [edi + 0x50]
xor esi, esi
mov dword [edi + 0x54], esi
mov dword [ebp - 0x18], eax
test eax, eax
je 0x101598fe
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
xor esi, esi
mov eax, dword [edi + 0x4c]
mov dword [edi + 0x50], esi
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10159920
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
xor esi, esi
mov dword [edi + 0x4c], esi
jmp 0x1015992c
mov ecx, edi
call fcn.1015acc5
cmp dword [edi + 0x24], esi
jne 0x10159925
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10159950
mov eax, dword [eax]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, dword [ebp - 0x18]
call esi
xor esi, esi
mov dword [edi + 0x2c], esi
jmp 0x1015995c
mov ecx, edi
call fcn.1015ac8e
cmp dword [edi + 0x30], esi
jne 0x10159955
test ebx, ebx
je 0x10159979
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
xor esi, esi
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x10159985
call fcn.1015cfa1
mov ecx, dword [edi + 0x44]
mov dword [edi + 0x38], esi
mov dword [edi + 0x3c], esi
test ecx, ecx
je 0x10159997
call fcn.1015cfa1
mov ecx, dword [edi + 0x40]
mov dword [edi + 0x44], esi
mov dword [edi + 0x48], esi
test ecx, ecx
je 0x101599a9
call fcn.101622e6
mov ebx, dword [edi + 0x1c]
mov dword [edi + 0x40], esi
test ebx, ebx
je 0x101599c7
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
xor esi, esi
mov ebx, dword [edi + 0x14]
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], esi
test ebx, ebx
je 0x101599e8
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
xor esi, esi
mov ebx, dword [edi + 0x10]
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
test ebx, ebx
je 0x10159a09
mov eax, dword [ebx]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x101d880c]
mov ecx, ebx
call esi
xor esi, esi
cmp dword [ebp - 0x10], 0
mov dword [edi + 0x10], esi
je 0x10159a19
mov ecx, edi
call fcn.1015b4ab
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x20