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

Disassembly:
sub esp, 0x44
xor edx, edx
mov dword [esp + 0xc], edx
push ebx
mov eax, dword [esp + 0x50]
push esi
mov ecx, dword [esp + 0x5c]
push edi
mov dword [esp + 0xc], edx
push ebp
lea ebx, [ecx + ecx*2]
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0x68]
lea eax, [ecx + ebx*4]
mov ebx, dword [esp + 0x58]
lea ecx, [ebx + eax*4]
mov eax, dword [esp + 0x68]
shl eax, 5
mov dword [esp + 0x3c], ecx
sub eax, ebp
shl eax, 6
add eax, ebp
lea eax, [ebp + eax*2]
lea ebx, [ebp + eax*8]
lea eax, [ebx + ebx*2]
mov ebx, dword [esp + 0x58]
lea ecx, [eax + ebp]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x20], edx
add ecx, dword [eax + 0x124]
mov ebp, dword [ebx]
mov eax, dword [ebx + 0x58]
mov esi, dword [esp + 0x6c]
imul eax, dword [ebx + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], eax
mov ecx, dword [ebp*4 + 0x1c4b0800]
cmp esi, edx
mov dword [esp + 0x24], ecx
jne 0x1c42d0d3
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
push ecx
push eax
push edx
call fcn.1c43eb10
add esp, 0xc
mov eax, dword [esp + 0x5c]
xor edi, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add dword [esp + 0x14], 4
mov eax, dword [eax]
mov dword [esp + 0x1c], 0x20
mov dword [esp + 0x10], eax
cmp dword [esp + 0x40], edi
je 0x1c42d560
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
shl esi, 3
mov ecx, dword [esp + 0x28]
sub esi, eax
mov ebx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x17448]
test ebx, ebx
lea esi, [edx + esi*4]
je 0x1c42d137
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x60]
mov bl, byte [eax + edx]
mov edx, 1
test bl, bl
jne 0x1c42d139
xor edx, edx
mov ecx, edi
mov eax, dword [esp + 0x10]
and ecx, 7
inc edi
shr eax, cl
mov ebx, dword [0x1c4b0824]
inc ecx
and eax, ebx
cmp ecx, 8
mov dword [esp + 0x18], eax
jb 0x1c42d196
shr ecx, 3
mov ebx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ebp, ebx
dec ecx
mov dword [esp + 0x1c], ebp
jne 0x1c42d15f
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1c42d26e
test edx, edx
je 0x1c42d260
mov ecx, dword [esp + 0x58]
cmp dword [ecx], 1
jbe 0x1c42d260
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esi + 0x10]
nop
mov ebx, dword [edx + 0x11c]
mov eax, dword [eax + 0x124]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
nop
mov edx, dword [eax + 8]
mov eax, dword [ecx + 0x78]
add eax, ebx
add eax, edx
add eax, ebp
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0x7c]
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x38]
add eax, ebp
mov dword [esp + 0x30], eax
mov ecx, dword [edx + 0x24]
cmp ecx, 0x10
jne 0x1c42d206
mov eax, dword [esi + 4]
jmp 0x1c42d20d
mov eax, dword [esi + 0xc]
inc eax
and eax, 0xfffffffe
mov esi, dword [esi]
imul eax, ecx
imul esi, ecx
lea edx, [eax*2]
test esi, esi
je 0x1c42d260
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
test edx, edx
je 0x1c42d23f
lea ebx, [edx + 3]
shr ebx, 2
mov ebp, dword [ecx]
add ecx, 4
mov dword [eax], ebp
add eax, 4
dec ebx
jne 0x1c42d232
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
and eax, 0xfffffffc
add ecx, eax
add ebx, eax
dec esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebx
jne 0x1c42d220
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x1c42d550
mov ecx, edi
mov eax, dword [esp + 0x10]
and ecx, 7
inc edi
shr eax, cl
mov ebx, dword [0x1c4b0824]
inc ecx
and eax, ebx
cmp ecx, 8
mov dword [esp + 0x18], eax
jb 0x1c42d2cb
shr ecx, 3
mov ebx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ebp, ebx
dec ecx
mov dword [esp + 0x1c], ebp
jne 0x1c42d294
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1c42d3a4
mov ecx, edi
mov eax, dword [esp + 0x10]
and ecx, 7
add edi, 8
shr eax, cl
mov ebx, dword [0x1c4b0840]
add ecx, 8
and eax, ebx
cmp ecx, 8
mov dword [esp + 0x18], eax
jb 0x1c42d338
shr ecx, 3
mov ebx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ebp, ebx
dec ecx
mov dword [esp + 0x1c], ebp
jne 0x1c42d301
mov eax, dword [esp + 0x18]
cmp eax, 0xff
jne 0x1c42d3a4
mov ecx, edi
mov eax, dword [esp + 0x10]
and ecx, 7
add edi, 0x18
shr eax, cl
mov ebx, dword [0x1c4b0880]
add ecx, 0x18
and eax, ebx
cmp ecx, 8
mov dword [esp + 0x18], eax
jb 0x1c42d3a4
shr ecx, 3
mov ebx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ebp, ebx
dec ecx
mov dword [esp + 0x1c], ebp
jne 0x1c42d36d
mov eax, dword [esp + 0x18]
test edx, edx
mov dword [esp + 0x2c], eax
jne 0x1c42d3b8
test eax, eax
jne 0x1c42d51c
add edi, 7
mov ebx, dword [esi + 0xc]
shr edi, 3
inc ebx
and ebx, 0xfffffffe
mov eax, dword [esp + 0x48]
imul ebx, dword [esi + 8]
test eax, eax
jne 0x1c42d421
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx*8]
lea edx, [ecx + eax*8]
push 0
lea eax, [edx + edx*8]
add eax, ecx
mov ebp, dword [esp + 0x60]
lea edx, [eax + eax*2]
lea eax, [ecx + edx*4]
mov edx, dword [esp + 0x2c]
lea ecx, [edx + eax*4 + 0x210]
mov eax, dword [esi + 0x14]
push eax
lea eax, [ebp + edi]
push eax
mov eax, dword [esp + 0x34]
add eax, 0x38
push eax
push ecx
call fcn.1c44b1a0
add esp, 0x14
test eax, eax
jne 0x1c42d585
mov dword [esp + 0x48], 1
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx*8]
lea edx, [ecx + eax*8]
lea eax, [edx + edx*8]
add eax, ecx
lea edx, [eax + eax*2]
lea eax, [ecx + edx*4]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push ecx
lea ebp, [edx + eax*4 + 0x210]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x64]
push edx
push ecx
add eax, edi
mov edx, dword [esp + 0x68]
push eax
push ebp
push edx
call fcn.1c42f710
add esp, 0x1c
test eax, eax
je 0x1c42d58f
mov eax, dword [esp + 0x18]
push ebx
add edi, eax
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x60]
push ecx
add eax, edi
push eax
push 0
push ebp
call fcn.1c44b1a0
mov ecx, dword [esp + 0x6c]
add esp, 0x14
add edi, eax
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
cmp eax, 1
jbe 0x1c42d508
mov eax, dword [0x1c4a3e84]
test eax, eax
je 0x1c42d508
mov ecx, dword [esp + 0x28]
mov edx, 8
mov eax, dword [ecx + 0x24]
cmp eax, 0x10
je 0x1c42d4bc
mov edx, eax
mov ecx, dword [esp + 0x28]
mov ebp, dword [esi + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x80]
add ecx, eax
add ecx, ebp
push ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x7c]
add ecx, eax
add ecx, ebp
push ecx
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x78]
add ecx, eax
add ecx, ebp
mov ebp, dword [esp + 0x30]
push ecx
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp + 0x1c]
push eax
push edx
mov edx, dword [esp + 0x58]
push ebx
push ecx
push edx
call fcn.1c446100
add esp, 0x20
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x1c42d518
test eax, eax
jne 0x1c42d599
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
add ecx, eax
mov eax, dword [esp + 0x20]
inc eax
xor edi, edi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
add dword [esp + 0x14], 4
mov eax, dword [eax]
mov dword [esp + 0x1c], 0x20
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
cmp eax, ecx
ja 0x1c42d0fe
add edi, 7
mov eax, dword [esp + 0x50]
shr edi, 3
mov ecx, dword [esp + 0x5c]
sub edi, eax
mov eax, dword [esp + 0x60]
add edi, ecx
pop ebp
mov dword [eax], edi
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x44
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x44
ret