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

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x48
mov ecx, dword [esp + 0x5c]
push ebx
push esi
push edi
push ebp
mov edi, dword [eax]
push ecx
push 0x5c
call fcn.1c4673e0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
add esp, 8
nop
lea esi, [edx + 0x20]
mov ebx, dword [eax + 0x14]
mov dword [edx + 0x30], ebx
mov eax, dword [ecx + 0x34]
mov ecx, dword [esp + 0x5c]
mov dword [edx + 0x4c], eax
mov eax, dword [ecx]
mov dword [esi], eax
mov edx, dword [ecx + 4]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x60]
mov ebp, dword [ecx + 8]
mov dword [esi + 8], ebp
mov eax, dword [ecx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 0x44]
mov dword [eax + 0x50], ecx
mov ecx, dword [edx + 0x60]
mov dword [eax + 0x3c], ecx
mov ecx, dword [edx + 0x1fc]
mov edx, 2
mov dword [eax + 0x58], ecx
mov ecx, eax
mov eax, dword [esp + 0x5c]
add ecx, 0x10
dec edx
mov ebp, dword [eax]
mov dword [ecx - 0x10], ebp
mov ebp, dword [eax + 4]
mov dword [ecx - 0xc], ebp
mov ebp, dword [eax + 8]
mov dword [ecx - 8], ebp
mov eax, dword [eax + 0xc]
mov dword [ecx - 4], eax
jne 0x1c46ea3a
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
push eax
push edx
call fcn.1c471f30
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x5c]
mov dword [edx + 0x40], 0
mov dword [edx + 0x44], 0
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x1c46eaa4
mov ebp, dword [eax + 0x10]
add eax, 0x10
mov edx, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
mov ecx, dword [edx + ebp*4 + 0x164]
jmp 0x1c46eabc
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov ebp, dword [eax]
mov ecx, dword [edx + ebp*4 + 0x180]
test ebx, ebx
jne 0x1c46ead5
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
jne 0x1c46ead5
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [eax], edi
jmp 0x1c46eb39
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x1c46eae7
mov eax, dword [edx + 0x48]
test eax, eax
je 0x1c46eb39
shr cl, 3
mov al, byte [edi + 0x26]
shr al, 3
sub cl, al
test cl, cl
jle 0x1c46eb11
mov eax, dword [edi + 0xc]
mov edx, dword [esi]
shl eax, cl
cmp eax, edx
jne 0x1c46eb39
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x14]
shl eax, cl
cmp eax, dword [edx + 0x24]
jne 0x1c46eb39
jmp 0x1c46eb2c
mov eax, dword [edi + 0xc]
mov edx, dword [esi]
neg cl
sar eax, cl
cmp eax, edx
jne 0x1c46eb39
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x14]
sar eax, cl
cmp eax, dword [edx + 0x24]
jne 0x1c46eb39
mov ecx, dword [esp + 0x60]
mov dword [edx + 0x40], ebx
mov eax, dword [ecx + 0x48]
mov dword [edx + 0x44], eax
mov edx, dword [esp + 0x14]
mov dword [edx + 0x48], edi
mov eax, dword [edx + 0x24]
add eax, 7
lea ecx, [edx + 8]
and eax, 0xfffffff8
mov dword [edx + 0x28], eax
mov edi, dword [esi]
add edi, 7
imul edi, eax
and edi, 0xfffffff8
mov eax, 2
mov edx, dword [ecx - 4]
add ecx, 0x10
add edx, 7
and edx, 0xfffffff8
mov dword [ecx - 0x10], edx
mov ebx, dword [ecx - 0x18]
add ebx, 7
imul ebx, edx
and ebx, 0xfffffff8
add edi, ebx
dec eax
jne 0x1c46eb5f
mov eax, dword [esp + 0x6c]
add edi, edi
push eax
push edi
call fcn.1c4673e0
mov edx, dword [esp + 0x1c]
add esp, 8
mov dword [edx + 0x2c], eax
add edx, 0xc
mov ecx, dword [esi]
add ecx, 7
and ecx, 0xfffffff8
imul ecx, dword [edx + 0x1c]
lea eax, [eax + ecx*2]
mov ecx, 2
mov dword [edx], eax
mov esi, dword [edx - 0xc]
add edx, 0x10
add esi, 7
and esi, 0xfffffff8
imul esi, dword [edx - 0x14]
dec ecx
nop
lea eax, [eax + esi*2]
jne 0x1c46ebad
lea eax, [esp + 0x54]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x48]
push eax
mov eax, dword [esp + 0x60]
push ecx
push edx
nop
mov edx, dword [eax + 4]
mov ecx, dword [eax]
push ecx
push edx
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
push ecx
push edx
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + 0xac]
mov edx, dword [ecx + 0xa8]
push eax
push edx
call fcn.1c4709b0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add esp, 0x24
mov dword [ecx + 0x9c4], 0
mov eax, dword [edx + 0xb0]
mov dword [ecx + 0x17b70], eax
mov eax, dword [edx + 0xb4]
mov dword [ecx + 0x17b74], eax
add ecx, 0x14
mov eax, dword [edx + 0xb8]
mov dword [esp + 0x10], ecx
mov dword [ecx + 0x17b64], eax
mov eax, dword [edx + 0x64]
mov dword [ecx + 0x17b68], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
add ecx, 0x19ba8
mov edx, dword [eax]
mov eax, 4
nop
mov dword [ecx - 0x19ba8], edx
mov dl, byte [0x1c4b38f8]
mov byte [ecx], dl
add ecx, 0x20
dec eax
nop
mov byte [ecx - 0x38], dl
jne 0x1c46ec71
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
push eax
lea ebx, [edx*4]
mov dword [ecx + 0x19b84], edx
lea ecx, [ebx + ebx*2]
lea eax, [edx + ecx*4]
shl eax, 2
push eax
call fcn.1c4673e0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
add esp, 8
nop
mov dword [ecx + 0x19b88], eax
nop
mov eax, dword [esp + 0x64]
push edx
push 0x98c
add eax, 0x9a0
push eax
xor esi, esi
call fcn.1c46e1a0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
add esp, 0xc
nop
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov edx, dword [eax + 4]
mov dword [ecx + 0x10], edx
mov edx, dword [eax]
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x10]
mov al, byte [eax + 0x14]
mov edx, dword [esp + 0x1c]
mov byte [ecx], al
nop
mov al, byte [edx]
mov edx, dword [esp + 0x14]
mov byte [ecx + 1], al
mov al, byte [edx + 0x4c]
mov byte [ecx + 0xa], al
mov dword [ecx + 0xc], 1
mov eax, dword [edx + 0x40]
mov dword [ecx + 0x14], eax
mov eax, dword [edx + 0x44]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x188], esi
mov ebp, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
cmp ebp, esi
jne 0x1c46ed97
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov al, byte [edx + ecx*4 + 0x164]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
nop
mov byte [ecx + 0x12], al
mov ecx, dword [esp + 0x60]
mov eax, dword [edx]
mov edx, dword [esp + 0x10]
mov al, byte [ecx + eax*4 + 0x19c]
mov ecx, dword [esp + 0x1c]
mov byte [edx + 0x13], al
mov edx, dword [esp + 0x60]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x10]
mov dl, byte [edx + eax*4 + 0xf4]
xor eax, eax
mov al, dl
mov byte [ecx + 0x24], dl
mov edx, dword [esp + 0x1c]
mov al, byte [eax + 0x1c4b70d0]
mov byte [ecx + 0x25], al
mov eax, dword [edx]
mov ecx, dword [esp + 0x60]
mov al, byte [ecx + eax*4 + 0x110]
jmp 0x1c46edf9
mov ebx, dword [eax]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
mov al, byte [edx + ebx*4 + 0x180]
mov byte [ecx + 0x12], al
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [eax]
mov al, byte [edx + ebx*4 + 0x1b8]
mov edx, dword [esp + 0x1c]
mov byte [ecx + 0x13], al
mov ecx, dword [esp + 0x60]
mov eax, dword [edx]
mov dl, byte [ecx + eax*4 + 0x12c]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x24], dl
xor eax, eax
mov al, dl
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov al, byte [eax + 0x1c4b70d0]
mov byte [ecx + 0x25], al
mov eax, dword [edx]
mov ecx, dword [esp + 0x60]
mov al, byte [ecx + eax*4 + 0x148]
mov edx, dword [esp + 0x10]
mov byte [edx + 0x67], al
mov al, byte [edx + 0x13]
mov byte [edx + 0x68], al
mov al, byte [edx + 0x13]
mov byte [edx + 0x26], al
mov eax, dword [esp + 0x64]
add eax, 0x17b80
mov cl, byte [edx + 0x67]
push eax
push ecx
call fcn.1c471d30
mov ecx, dword [esp + 0x18]
add esp, 8
xor eax, eax
xor ebp, ebp
mov al, byte [ecx + 0x25]
mov dword [esp + 0x28], ebp
shl eax, 6
mov ecx, dword [esp + 0x64]
add eax, 0x1c4bfdb0
mov dword [ecx + 0x19b80], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov edx, dword [ecx + 0x19b88]
mov dword [esp + 0x20], edx
mov ebx, dword [eax]
cmp ebx, ebp
jle 0x1c46f112
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x1c46f0f6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
add eax, 0x10
push ecx
push 0xc
mov dword [eax], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 0
mov eax, dword [esp + 0x28]
add eax, 0x1c
push eax
call fcn.1c46e1a0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
add esp, 0xc
add eax, 0x3c
push ecx
push 0x64
push eax
call fcn.1c46e1a0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
add esp, 0xc
add eax, 0x7c
push ecx
push 0x64
push eax
call fcn.1c46e1a0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
add esp, 0xc
add eax, 0x5c
push ecx
push 0x64
push eax
call fcn.1c46e1a0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
add esp, 0xc
add eax, 0x9c
push ecx
push 0x64
push eax
call fcn.1c46e1a0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [edx], ecx
mov dword [edx + 4], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
sub edx, dword [eax]
add edx, ecx
test edx, edx
jg 0x1c46ef2d
xor edx, edx
sub ecx, edx
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x20]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
sub ecx, dword [eax + 4]
add ecx, esi
test ecx, ecx
jg 0x1c46ef4d
xor ecx, ecx
sub esi, ecx
mov edx, dword [esp + 0x20]
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [edx + 0xc], esi
mov edi, dword [edx + 8]
mov al, byte [ecx + 0x13]
imul eax, eax
inc eax
mov dword [esp + 0x50], eax
xor eax, eax
mov al, byte [ecx + 0x12]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, edi
cdq
idiv dword [esp + 0x18]
mov eax, edi
test edx, edx
cdq
setg cl
idiv dword [esp + 0x18]
add ecx, eax
xor ebx, ebx
mov eax, esi
cdq
idiv dword [esp + 0x18]
mov eax, esi
test edx, edx
cdq
setg bl
idiv dword [esp + 0x18]
add ebx, eax
mov edx, dword [esp + 0x20]
imul ecx, ebx
mov eax, ecx
mov dword [edx + 0xbc], ecx
shl eax, 4
mov edi, dword [edx + 8]
add eax, ecx
mov dword [esp + 0x40], edi
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x28]
add edi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
cmp eax, edi
jge 0x1c46f0ce
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
add eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
xor eax, eax
mov al, byte [ecx + 0x12]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], eax
cmp eax, ecx
jge 0x1c46f0b4
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov eax, edi
mov edx, dword [esp + 0x28]
sub eax, ecx
mov ebx, dword [esp + 0x2c]
sub eax, edx
add eax, ebx
test eax, eax
jg 0x1c46f024
xor eax, eax
sub edi, eax
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
xor ebx, ebx
sub esi, eax
mov ecx, dword [esp + 0x10]
sub esi, dword [esp + 0x24]
mov bl, byte [ecx + 0x13]
mov eax, edi
xor ecx, ecx
cdq
idiv ebx
mov eax, edi
test edx, edx
cdq
setg cl
idiv ebx
add eax, ecx
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
add eax, esi
test eax, eax
jg 0x1c46f064
xor eax, eax
sub edi, eax
xor ecx, ecx
mov eax, edi
cdq
idiv ebx
mov eax, edi
test edx, edx
cdq
setg cl
idiv ebx
add ecx, eax
mov edx, dword [esp + 0x1c]
add edx, 0x88
mov edi, dword [esp + 0x3c]
imul ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
lea eax, [ecx + ecx*2]
imul ecx, dword [esp + 0x50]
lea ebp, [ebp + eax*8]
nop
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x44]
add ecx, edi
mov dword [esp + 0x44], ecx
lea ebp, [ebp + eax*2]
cmp dword [esp + 0x34], ecx
jg 0x1c46f054
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
add ecx, eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
cmp edx, ecx
jg 0x1c46eff2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
add eax, 0xc4
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
cmp dword [eax + 4], edx
jg 0x1c46ee76
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
add eax, ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
cmp ebx, eax
jg 0x1c46ee5f
mov eax, dword [esp + 0x6c]
push eax
push ebp
call fcn.1c4673e0
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
add esp, 8
mov ebp, dword [ecx + 0x19b88]
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], 0
cmp dword [eax], 0
jle 0x1c46f3e5
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x1c46f3c9
mov esi, dword [esp + 0x30]
mov dword [ebp + 0xc0], esi
mov ecx, dword [ebp + 0xbc]
mov eax, ecx
shl ecx, 4
add ecx, eax
mov dword [esp + 0x40], 0
lea eax, [esi + ecx*8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp + 8]
add eax, ecx
cmp eax, ecx
jle 0x1c46f39d
mov dword [esp + 0x20], ebp
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
add eax, edi
cmp eax, edi
jle 0x1c46f379
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov edx, dword [esp + 0x10]
mov dword [esi], ecx
mov dword [esi + 4], edi
mov ebx, dword [ebp + 8]
mov al, byte [edx + 0x12]
mov ecx, eax
mov edx, dword [esp + 0x28]
sub ecx, ebx
sub ecx, edx
mov edx, dword [esp + 0x2c]
add ecx, edx
test ecx, ecx
jg 0x1c46f1dd
xor ecx, ecx
sub eax, ecx
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov dword [esi + 8], eax
mov bl, byte [ecx + 0x12]
mov ecx, dword [ebp + 0xc]
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub eax, ecx
add eax, edi
test eax, eax
jg 0x1c46f200
xor eax, eax
sub ebx, eax
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esi + 0xc], ebx
mov al, byte [ecx + 0x13]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, ebx
cdq
idiv dword [esp + 0x18]
mov eax, ebx
test edx, edx
cdq
setg cl
idiv dword [esp + 0x18]
add ecx, eax
xor ebx, ebx
mov eax, dword [esi + 8]
cdq
idiv dword [esp + 0x18]
mov eax, dword [esi + 8]
test edx, edx
cdq
setg bl
idiv dword [esp + 0x18]
add ebx, eax
mov eax, dword [esp + 0x30]
imul ecx, ebx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], eax
lea ebx, [ecx + ecx*2]
mov dword [esp + 0x1c], 0
lea ecx, [eax + ebx*8]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebx
mov ecx, dword [esi + 8]
add ecx, ebx
cmp ecx, ebx
jle 0x1c46f34e
mov ebx, edi
mov ecx, dword [esi + 0xc]
add ecx, edi
cmp ecx, edi
jle 0x1c46f321
mov ecx, dword [esp + 0x50]
lea ecx, [ecx + ecx*2]
add ecx, ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
xor edx, edx
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ebx
mov ebp, dword [esi + 8]
mov dl, byte [ecx + 0x13]
mov ecx, dword [esp + 0x34]
sub ecx, ebp
mov ebp, dword [esp + 0x2c]
sub ecx, ebp
add ecx, edx
test ecx, ecx
jg 0x1c46f2c1
xor ecx, ecx
sub edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], edx
xor edx, edx
mov dl, byte [ecx + 0x13]
mov ebp, dword [esi + 0xc]
mov ecx, ebx
sub ecx, ebp
sub ecx, edi
add ecx, edx
test ecx, ecx
jg 0x1c46f2e0
xor ecx, ecx
sub edx, ecx
mov ebp, dword [esp + 0x18]
mov dword [eax + 0xc], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
add eax, 0x18
inc edx
mov dword [eax - 8], 0
mov dword [eax - 4], ecx
mov dword [esp + 0x1c], edx
add ecx, ebp
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx + 0x13]
mov ecx, dword [esi + 0xc]
add ebx, edx
add ecx, edi
cmp ecx, ebx
jg 0x1c46f298
xor edx, edx
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
nop
mov dl, byte [ecx + 0x13]
mov ecx, dword [esi + 8]
add ebp, edx
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x2c]
add ecx, ebp
mov ebx, dword [esp + 0x34]
cmp ecx, ebx
jg 0x1c46f27c
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
add esi, 0x88
inc eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], eax
xor eax, eax
mov al, byte [ecx + 0x12]
add edi, eax
mov eax, dword [ebp + 0xc]
add eax, edx
cmp eax, edi
jg 0x1c46f1b2
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov al, byte [ecx + 0x12]
add edx, eax
mov eax, dword [ebp + 8]
add eax, ebx
mov dword [esp + 0x2c], edx
cmp eax, edx
jg 0x1c46f1a1
mov eax, dword [esp + 0x38]
add ebp, 0xc4
inc eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
add edx, ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov ebx, dword [eax + 4]
cmp ebx, edx
jg 0x1c46f162
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
add eax, ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
cmp ebx, eax
jg 0x1c46f14b
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x38]
cmp dword [ecx + 0x19b84], eax
je 0x1c46f407
mov eax, dword [esp + 0x6c]
push 0x20601e0
push eax
call fcn.1c474d74
add esp, 8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
push eax
push ecx
mov ecx, dword [esp + 0x68]
mov eax, dword [edx + 0x19b88]
mov edx, dword [esp + 0x64]
push eax
push ecx
push edx
call fcn.1c470db0
mov edx, dword [esp + 0x28]
add esp, 0x14
pop ebp
mov dword [edx + 0x34], eax
mov eax, edx
pop edi
pop esi
pop ebx
add esp, 0x48
ret