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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10020d2e
mov eax, dword fs:[0]
push eax
sub esp, 0x318
mov eax, dword [0x10028500]
xor eax, esp
mov dword [esp + 0x310], eax
push ebx
push esi
push edi
mov eax, dword [0x10028500]
xor eax, esp
push eax
lea eax, [esp + 0x328]
mov dword fs:[0], eax
mov eax, dword [0x10029210]
xor ebx, ebx
mov dword [esp + 0x80], eax
xor eax, eax
cmp dword [ebp + 8], 1
lea edi, [esp + 0x4c]
mov dword [esp + 0x48], ebx
stosd dword es:[edi], eax
lea edi, [esp + 0x88]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov byte [esp + 0x84], 3
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
jne 0x10002256
push 0x10023925
lea ecx, [esp + 0xa0]
call fcn.10002ede
push 4
mov dword [esp + 0x334], ebx
mov dword [esp + 0x1c], ebx
call fcn.1000c34c
pop ecx
cmp eax, ebx
je 0x10001ffb
lea ecx, [esp + 0x30]
mov dword [eax], ecx
jmp 0x10001ffd
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
lea edi, [esp + 0x30]
mov byte [esp + 0x330], 2
call fcn.100050bc
test al, al
je 0x10002168
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x38
cdq
pop ecx
idiv ecx
mov dword [esp + 0x14], ebx
cmp eax, ebx
jbe 0x10002168
xor edi, edi
mov dword [esp + 0x2c], edi
jmp 0x1000204c
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x14], eax
jb 0x10002057
call fcn.1000c68f
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
sub eax, ecx
push 0x38
lea esi, [ecx + edi]
cdq
pop ecx
idiv ecx
cmp dword [esp + 0x14], eax
jb 0x10002075
call fcn.1000c68f
mov eax, dword [esp + 0x3c]
and dword [esp + 0x74], 0
lea ebx, [eax + edi + 0x1c]
xor eax, eax
lea edi, [esp + 0x78]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp dword [esi + 0x18], 8
jb 0x10002095
mov esi, dword [esi + 4]
jmp 0x10002098
add esi, 4
lea eax, [esp + 0x74]
push eax
push esi
call fcn.10004466
and dword [esp + 0x70], 0
xor eax, eax
lea edi, [esp + 0x74]
stosd dword es:[edi], eax
pop ecx
stosd dword es:[edi], eax
cmp dword [ebx + 0x18], 8
pop ecx
jb 0x100020bd
mov ebx, dword [ebx + 4]
jmp 0x100020c0
add ebx, 4
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.10004466
xor eax, eax
lea edi, [esp + 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esp + 0x78]
and dword [esp + 0x58], 0
pop ecx
pop ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
test eax, eax
je 0x10002145
test ecx, ecx
je 0x10002145
push 0xc
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0xa4]
call fcn.10002595
push dword [esp + 0x70]
lea eax, [esp + 0xa0]
push dword [esp + 0x70]
call fcn.10002595
push dword [esp + 0x7c]
lea eax, [esp + 0xa0]
push dword [esp + 0x7c]
call fcn.10002595
push dword [esp + 0x78]
inc dword [esp + 0x1c]
call fcn.1000b3b4
pop ecx
push dword [esp + 0x6c]
call fcn.1000b3b4
pop ecx
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push 0x38
cdq
pop ecx
idiv ecx
inc dword [esp + 0x14]
add dword [esp + 0x2c], 0x38
cmp dword [esp + 0x14], eax
jb 0x10002048
xor ebx, ebx
mov eax, dword [esp + 0xb0]
cmp eax, ebx
je 0x10002219
cmp dword [esp + 0x18], ebx
je 0x10002219
add eax, 0x10c
push eax
call fcn.1000a74f
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb4]
pop ecx
add eax, 0x10c
push eax
call fcn.1000a74f
mov esi, eax
mov eax, dword [esp + 0xb4]
pop ecx
add eax, 0x10c
push eax
mov dword [esp + 0x28], esi
call fcn.1000a74f
pop ecx
mov dword [esp + 0x20], eax
cmp esi, ebx
je 0x10002219
cmp eax, ebx
je 0x10002219
cmp dword [esp + 0x1c], ebx
je 0x10002219
mov ecx, dword [esp + 0x18]
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], ecx
cmp dword [esp + 0xb4], 0x10
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x4c], ecx
jae 0x100021f7
lea eax, [esp + 0xa0]
push dword [esp + 0xb0]
add esi, 8
push eax
push esi
call fcn.100101c0
mov eax, dword [esp + 0xbc]
add esp, 0xc
add eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x10002234
push dword [esp + 0x40]
call fcn.10002793
push dword [esp + 0x3c]
call fcn.1000c2a9
pop ecx
push dword [esp + 0x30]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call fcn.1000c2a9
pop ecx
lea ecx, [esp + 0x9c]
jmp 0x1000247b
cmp dword [ebp + 8], 2
jne 0x10002483
push 0x10023925
lea ecx, [esp + 0xbc]
call fcn.10002ede
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x334], 3
mov dword [esp + 0x1c], ebx
call fcn.1000265c
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x334], 4
call fcn.10007a6e
pop ecx
test al, al
je 0x100023b6
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x5c]
push 0x54
cdq
pop ecx
idiv ecx
mov dword [esp + 0x14], ebx
test eax, eax
jbe 0x100023b6
push dword [esp + 0x14]
lea esi, [esp + 0x54]
call fcn.100026c2
push dword [esp + 0x14]
mov ebx, eax
call fcn.100026c2
push dword [esp + 0x14]
mov edi, eax
add edi, 0x1c
call fcn.100026c2
mov esi, eax
push 0x240
lea eax, [esp + 0xdc]
push 0
push eax
add esi, 0x38
call fcn.10016310
and dword [esp + 0xe0], 0
mov eax, dword [ebx + 0x14]
add esp, 0xc
cmp dword [ebx + 0x18], 8
jb 0x10002317
mov ebx, dword [ebx + 4]
jmp 0x1000231a
add ebx, 4
push eax
push ebx
lea eax, [esp + 0xe0]
push 0x20
push eax
call fcn.1000c45f
mov eax, dword [edi + 0x14]
add esp, 0x10
cmp dword [edi + 0x18], 8
jb 0x1000233c
mov edi, dword [edi + 4]
jmp 0x1000233f
add edi, 4
push eax
push edi
mov edi, 0x80
lea eax, [esp + 0x120]
push edi
push eax
call fcn.1000c45f
mov eax, dword [esi + 0x14]
add esp, 0x10
cmp dword [esi + 0x18], 8
jb 0x10002365
mov esi, dword [esi + 4]
jmp 0x10002368
add esi, 4
push eax
push esi
lea eax, [esp + 0x220]
push edi
push eax
call fcn.1000c45f
add esp, 0x10
push 0x244
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0xc0]
call fcn.10002595
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x5c]
push 0x54
cdq
pop ecx
idiv ecx
inc dword [esp + 0x18]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jb 0x100022bf
xor ebx, ebx
mov eax, dword [esp + 0xcc]
cmp eax, ebx
je 0x1000246b
cmp dword [esp + 0x18], ebx
je 0x1000246b
add eax, 0x10c
push eax
call fcn.1000a74f
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd0]
pop ecx
add eax, 0x10c
push eax
call fcn.1000a74f
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd0]
pop ecx
add eax, 0x10c
push eax
call fcn.1000a74f
pop ecx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x24], ebx
je 0x1000246b
cmp eax, ebx
je 0x1000246b
cmp dword [esp + 0x1c], ebx
je 0x1000246b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
push 2
pop ecx
mov dword [eax], ecx
mov dword [eax + 4], edx
cmp dword [esp + 0xd0], 0x10
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x4c], edx
jae 0x10002449
lea ecx, [esp + 0xbc]
push dword [esp + 0xcc]
add eax, 8
push ecx
push eax
call fcn.100101c0
mov eax, dword [esp + 0xd8]
add esp, 0xc
add eax, 8
mov dword [esp + 0x28], eax
lea esi, [esp + 0x50]
call fcn.10002695
lea ecx, [esp + 0xb8]
push ebx
push 1
call fcn.10002d68
cmp dword [esp + 0x4c], ebx
je 0x1000253f
push dword [esp + 0x28]
call fcn.1000a432
pop ecx
mov edi, eax
push edi
call fcn.1000b2ea
mov esi, eax
pop ecx
cmp esi, ebx
jne 0x100024aa
xor eax, eax
jmp 0x100024d6
push edi
push ebx
push esi
call fcn.10016310
add esp, 0xc
push ebx
push ebx
push esi
push dword [esp + 0x34]
push dword [esp + 0x2c]
push dword [esp + 0x38]
call fcn.1000a446
push esi
mov edi, eax
call fcn.1000b3b4
add esp, 0x1c
mov eax, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
cmp eax, ebx
je 0x100024fa
mov ecx, eax
and ecx, 7
je 0x100024f8
sub eax, ecx
add eax, 8
mov ebx, eax
mov edi, dword [esp + 0x20]
push ebx
push dword [esp + 0x20]
lea eax, [edi + 0x18]
push eax
call fcn.10005078
add esp, 0xc
push 6
pop ecx
mov dword [esp + 0x8c], ebx
add ebx, 0x18
push ebx
push dword [esp + 0x24]
lea esi, [esp + 0x8c]
push dword [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
call fcn.100047c2
add esp, 0xc
test eax, eax
je 0x1000256f
xor ebx, ebx
cmp dword [esp + 0x24], ebx
je 0x1000254f
push dword [esp + 0x24]
call fcn.1000bcf7
pop ecx
cmp dword [esp + 0x20], ebx
je 0x1000255f
push dword [esp + 0x20]
call fcn.1000bcf7
pop ecx
cmp dword [esp + 0x1c], ebx
je 0x1000256f
push dword [esp + 0x1c]
call fcn.1000bcf7
pop ecx
xor eax, eax
mov ecx, dword [esp + 0x328]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.1000b28c
mov esp, ebp
pop ebp
ret