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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x56421d
sub esp, 0xc0
mov eax, 0
lea edi, [esp + 0x6c]
call fcn.0044cad6
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x564201
mov ecx, dword [eax + 4]
test ecx, ecx
setg cl
mov byte [esp + 0x2b], cl
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00563230
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
test ecx, ecx
jne 0x5641d3
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
mov dword [esp], 0xc
lea ecx, [0x7af300]
mov dword [esp + 4], ecx
call fcn.00426aa0
test eax, eax
jne 0x5641c6
lea edi, [esp + 0x94]
xor eax, eax
call fcn.0044cad5
mov dword [esp + 0x94], 0x2c
movzx ecx, byte [esp + 0x2b]
test cl, cl
jne 0x5640dd
mov edx, dword [esp + 0xc8]
test edx, edx
je 0x5640d6
lea esi, [edx + 0x10]
mov dword [esp + 0x48], esi
lea edi, [esp + 0x80]
call fcn.0044cfbe
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov ebp, ebx
shr ebx, 0x1f
shl ebx, 0x1f
test ebx, ebx
je 0x5640c1
shl ebp, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, ebp
mov ebp, ebx
shl ebx, 1
shr ebx, 0x1f
mov eax, ecx
shl ecx, 1
or ebx, ecx
mov ecx, ebx
add ebx, 0xd7b17f80
shr eax, 0x1f
add ecx, 0xd7b17f80
adc eax, 0xd
test ebx, ebx
sete cl
test eax, eax
sete bl
and ebx, ecx
test bl, bl
je 0x5640ba
test ebp, 0x3fffffff
sete cl
test cl, cl
je 0x563fe4
xor eax, eax
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x40]
mov dword [esp + 0x1c], eax
call fcn.0046a1d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
test eax, eax
jne 0x563fb6
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp], 4
lea eax, [0x7af2fc]
mov dword [esp + 4], eax
call fcn.00426aa0
test eax, eax
jne 0x563fa9
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
test eax, eax
je 0x563fa0
cmp eax, 1
jne 0x563f3a
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea ecx, [0x7fec40]
mov dword [esp], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
call fcn.004076f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
test eax, eax
jne 0x563f0c
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x563e9e
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00563500
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
test ecx, ecx
jne 0x563e70
mov ecx, dword [esp + 0xd0]
lea esi, [ecx + 1]
mov eax, ebp
mov ebp, dword [esp + 0xd4]
mov edi, edx
mov edx, dword [esp + 0xcc]
cmp esi, ebp
jg 0x563e1b
lea ebp, [ecx + 1]
mov dword [esp + 0xd0], ebp
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 4], ebx
mov dword [edx + ecx*4 + 8], edi
mov ebx, dword [0xa8f2d0]
lea edi, [edx + ecx*4]
test ebx, ebx
jne 0x563e14
mov dword [edx + ecx*4], eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
nop
call fcn.00427260
add esp, 0xc0
ret
call fcn.0044c9e0
jmp 0x563df1
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x44], eax
lea eax, [0x714f80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00438b40
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
jmp 0x563dcc
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
nop
call fcn.00427260
add esp, 0xc0
ret
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
call fcn.00563770
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
test eax, eax
je 0x563d6c
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
nop
call fcn.00427260
add esp, 0xc0
ret
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
nop
call fcn.00427260
add esp, 0xc0
ret
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea ecx, [0x7fece0]
mov dword [esp], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.004076f0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
jmp 0x563d49
xor eax, eax
xor ecx, ecx
jmp 0x563d49
nop
call fcn.00427260
add esp, 0xc0
ret
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
nop
call fcn.00427260
add esp, 0xc0
ret
lea edi, [esp + 0x6c]
mov esi, dword [esp + 0x48]
call fcn.0044cfbe
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov ebp, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x5640ab
shl ebp, 1
mov ecx, ebx
shr ebx, 0x1f
or ebx, ebp
mov ebp, ecx
shl ecx, 1
shr ecx, 0x1f
mov esi, ebx
shl ebx, 1
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr esi, 0x1f
add ebx, 0xd7b17f80
adc esi, 0xd
mov eax, ecx
mov edx, 0x3b9aca00
mul edx
and ebp, 0x3fffffff
mov ecx, eax
add eax, ebp
mov ebx, eax
add eax, 0x3d1a0000
mov dword [esp], eax
imul esi, esi, 0x3b9aca00
add edx, esi
mov esi, ebp
sar ebp, 0x1f
add ecx, esi
adc ebp, edx
add ebx, 0x3d1a0000
adc ebp, 0xa1b203eb
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.004484d0
mov ecx, dword [esp + 0x10]
add ecx, 0xd53e8000
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
adc edx, 0x19db1de
mov dword [esp + 0x38], edx
lea eax, [esp + 0x34]
jmp 0x563c42
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov ebp, ebx
jmp 0x564033
xor ecx, ecx
jmp 0x563c38
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ebp, ecx
jmp 0x563c1b
xor eax, eax
jmp 0x563c42
lea eax, [0x723540]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov eax, dword [0xa763cc]
mov ecx, dword [str.1.3.6.1.5.5.7.3.1]
test eax, eax
jbe 0x564216
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x5641ba
mov dword [edi], ecx
mov eax, dword [str.1.3.6.1.4.1.311.10.3.3]
mov ecx, dword [0xa763dc]
test ecx, ecx
jbe 0x56420f
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5641a7
mov dword [edi + 4], eax
mov eax, dword [str.2.16.840.1.113730.4.1]
mov ecx, dword [0xa763ec]
test ecx, ecx
jbe 0x564208
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x56418c
mov dword [edi + 8], eax
mov ecx, dword [esp + 0xc8]
test ecx, ecx
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], 3
mov dword [esp + 0xa0], edi
movzx ecx, byte [esp + 0x2b]
mov edx, dword [esp + 0xc8]
jmp 0x563bba
lea edx, [edi + 8]
mov ecx, edi
mov edi, edx
call fcn.0044c9e0
mov edx, dword [esp + 0xc8]
test edx, edx
mov edi, ecx
mov ecx, edx
jmp 0x56415e
lea ecx, [edi + 4]
mov edx, edi
mov edi, ecx
call fcn.0044c9e0
mov edi, edx
jmp 0x564134
mov eax, ecx
call fcn.0044c9e0
jmp 0x564113
nop
call fcn.00427260
add esp, 0xc0
ret
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
nop
call fcn.00427260
add esp, 0xc0
ret
xor ecx, ecx
jmp 0x563b2c
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.0044b280
jmp fcn.00563ab0