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

Disassembly:
sub esp, 0x13c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0x75b778
mov dword [esp + 0x18], 0x9968
or dword [esp + 0x18], 0xcfdc455
add dword [esp + 0x18], 0xdd4c
shr dword [esp + 0x18], 3
xor dword [esp + 0x18], 0x19fad6f
mov dword [esp + 0xa0], 0xa03a
shr dword [esp + 0xa0], 8
xor dword [esp + 0xa0], 0x391
mov dword [esp + 0x68], 0x2930
shl dword [esp + 0x68], 0xc
xor dword [esp + 0x68], 0x2930f5f
mov dword [esp + 0x70], 0x5883
add dword [esp + 0x70], 0xffff1c36
xor dword [esp + 0x70], 0xffff6a37
mov dword [esp + 0x2c], 0x122f
shl dword [esp + 0x2c], 0xf
add dword [esp + 0x2c], 0xd44b
shl dword [esp + 0x2c], 0xa
xor dword [esp + 0x2c], 0x6151757c
mov dword [esp + 0x48], 0xc525
shl dword [esp + 0x48], 0xa
mov eax, dword [esp + 0x48]
mov esi, 0x1b8692db
push 0x61
xor edx, edx
pop edi
div edi
push 0x7b
mov dword [esp + 0x4c], eax
xor edx, edx
xor dword [esp + 0x4c], 0x83ddd
mov dword [esp + 0xac], 0x49a7
imul eax, dword [esp + 0xac], 0x76
pop edi
push 0x17
pop ebx
push 0x5a
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0x2193f4
mov dword [esp + 0x24], 0x59a2
xor dword [esp + 0x24], 0x3b27ac73
add dword [esp + 0x24], 0xffff6ec5
add dword [esp + 0x24], 0xffffb5fd
xor dword [esp + 0x24], 0x3b271e50
mov dword [esp + 0x54], 0xb9af
shr dword [esp + 0x54], 8
add dword [esp + 0x54], 0xffffa108
xor dword [esp + 0x54], 0xfffffedf
mov dword [esp + 0x8c], 0x7b72
shl dword [esp + 0x8c], 2
xor dword [esp + 0x8c], 0x1e8b2
mov dword [esp + 0x40], 0x250d
imul eax, dword [esp + 0x40], 0x16
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 3
mov eax, dword [esp + 0x40]
div edi
xor edx, edx
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x21c
mov dword [esp + 0xb4], 0x4ea8
add dword [esp + 0xb4], 0xffff8c10
xor dword [esp + 0xb4], 0xffffc687
mov dword [esp + 0x2c], 0x9a7d
shl dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
div ebx
mov dword [esp + 0x2c], eax
or dword [esp + 0x2c], 0x2e5edf0a
xor dword [esp + 0x2c], 0x2e5e89f7
xor edx, edx
mov dword [esp + 0x64], 0x69d3
mov eax, dword [esp + 0x64]
pop edi
div edi
push 0x32
mov dword [esp + 0x64], eax
xor edx, edx
shr dword [esp + 0x64], 0xf
xor dword [esp + 0x64], 0x46bd
mov dword [esp + 0x44], 0x8cb9
add dword [esp + 0x44], 0xffff2c59
shl dword [esp + 0x44], 4
shl dword [esp + 0x44], 2
xor dword [esp + 0x44], 0xffee6fc7
mov dword [esp + 0x34], 0x8a1
xor dword [esp + 0x34], 0x358a3729
shl dword [esp + 0x34], 4
add dword [esp + 0x34], 0xde3b
xor dword [esp + 0x34], 0x58a4aa69
mov dword [esp + 0x48], 0x360c
xor dword [esp + 0x48], 0xc2d2005c
shl dword [esp + 0x48], 6
imul eax, dword [esp + 0x48], 0x5c
pop edi
push 0x63
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0xe2e17670
mov dword [esp + 0x9c], 0x8be
or dword [esp + 0x9c], 0xafaf70c7
xor dword [esp + 0x9c], 0xafaf5d0a
mov dword [esp + 0xa8], 0x59fe
shl dword [esp + 0xa8], 0xd
xor dword [esp + 0xa8], 0xb3f82ad
mov dword [esp + 0x94], 0x197e
shl dword [esp + 0x94], 4
xor dword [esp + 0x94], 0x1c80c
mov dword [esp + 0x50], 0x542a
add dword [esp + 0x50], 0x92cc
or dword [esp + 0x50], 0xa238a407
xor dword [esp + 0x50], 0xa2389846
mov dword [esp + 0x70], 0x7627
add dword [esp + 0x70], 0xdff4
xor dword [esp + 0x70], 0x122df
mov dword [esp + 0x14], 0x3ece
imul eax, dword [esp + 0x14], 0x74
mov dword [esp + 0x14], eax
shr dword [esp + 0x14], 8
or dword [esp + 0x14], 0xc6a89cdb
xor dword [esp + 0x14], 0xc6a8f635
mov dword [esp + 0x5c], 0x10d9
or dword [esp + 0x5c], 0xf517e732
add dword [esp + 0x5c], 0x5e6f
xor dword [esp + 0x5c], 0xf518070f
mov dword [esp + 0xb0], 0xb68b
shr dword [esp + 0xb0], 7
xor dword [esp + 0xb0], 0x3a74
mov dword [esp + 0x3c], 0x3579
or dword [esp + 0x3c], 0x431a7672
shl dword [esp + 0x3c], 2
mov eax, dword [esp + 0x3c]
div edi
xor edx, edx
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x3ff326
mov dword [esp + 0x78], 0xcfb7
mov eax, dword [esp + 0x78]
pop edi
div edi
push 0x70
mov dword [esp + 0x78], eax
xor edx, edx
xor dword [esp + 0x78], 0x3917
mov dword [esp + 0x18], 0xd3b7
xor dword [esp + 0x18], 0x43b1e200
shl dword [esp + 0x18], 8
mov eax, dword [esp + 0x18]
pop edi
div edi
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x1952af0
mov dword [esp + 0x54], 0xe683
or dword [esp + 0x54], 0xeb182d0f
add dword [esp + 0x54], 0xcf0c
xor dword [esp + 0x54], 0xeb19e4ec
xor edx, edx
mov dword [esp + 0x80], 0xada2
shr dword [esp + 0x80], 0x10
xor dword [esp + 0x80], 0x9df
mov dword [esp + 0xb4], 0xb32a
add dword [esp + 0xb4], 0xffff4f9d
xor dword [esp + 0xb4], 0x4085
mov dword [esp + 0x78], 0xbe4c
imul eax, dword [esp + 0x78], 5
push 0x26
mov ebp, dword [esp + 0x154]
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0x39e07
mov dword [esp + 0x38], 0xc7f7
or dword [esp + 0x38], 0xad7c9e6f
imul eax, dword [esp + 0x38], 0x1c
mov dword [esp + 0x38], eax
or dword [esp + 0x38], 0xde3ec68b
xor dword [esp + 0x38], 0xffbea491
mov dword [esp + 0x60], 0x8de7
imul eax, dword [esp + 0x60], 0x45
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
div ebx
xor edx, edx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x19f2b
mov dword [esp + 0x20], 0x16f
or dword [esp + 0x20], 0xdf403998
xor dword [esp + 0x20], 0x6a41af55
or dword [esp + 0x20], 0x5f7c1de9
xor dword [esp + 0x20], 0xff7dd65d
mov dword [esp + 0x80], 0xa25a
mov eax, dword [esp + 0x80]
div edi
xor edx, edx
mov dword [esp + 0x80], eax
xor dword [esp + 0x80], 0x7fd0
mov dword [esp + 0x98], 0x444f
imul eax, dword [esp + 0x98], 0x7d
pop edi
push 0x49
mov dword [esp + 0x98], eax
xor dword [esp + 0x98], 0x2171af
mov dword [esp + 0x90], 0x6191
shl dword [esp + 0x90], 6
xor dword [esp + 0x90], 0x185c0b
mov dword [esp + 0x88], 0x9864
mov eax, dword [esp + 0x88]
div edi
xor edx, edx
mov dword [esp + 0x88], eax
xor dword [esp + 0x88], 0x693d
mov dword [esp + 0x68], 0xae1
xor dword [esp + 0x68], 0x7986b26b
mov eax, dword [esp + 0x68]
pop edi
div edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x1aa59fa
mov dword [esp + 0x9c], 0xf7eb
imul eax, dword [esp + 0x9c], 0x67
mov dword [esp + 0x9c], eax
xor dword [esp + 0x9c], 0x63e620
mov dword [esp + 0x24], 0x2b09
add dword [esp + 0x24], 0xffffdaa4
or dword [esp + 0x24], 0x1659e70b
xor dword [esp + 0x24], 0x3abae7e6
xor dword [esp + 0x24], 0x2ce32170
cmp esi, 0xa551406
je 0x215864
cmp esi, 0x10f51287
je 0x215829
cmp esi, 0x14284095
je 0x215814
cmp esi, 0x1b8692db
je 0x2157f6
cmp esi, 0x28f75045
je 0x2157bb
cmp esi, 0x3013e9c6
jne 0x21598c
push 0x21c7a0
push dword [esp + 0x80]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x64]
call fcn.0021878f
push dword [esp + 0x8c]
mov esi, eax
sub ebx, edi
push dword [esp + 0x98]
mov edx, edi
mov ecx, ebx
push dword [esp + 0xd0]
push dword [esp + 0xa8]
push esi
call fcn.00207f4b
push dword [esp + 0x40]
mov edx, esi
push dword [esp + 0xbc]
mov ecx, dword [esp + 0x88]
call fcn.00212025
xor eax, eax
add esp, 0x24
inc eax
jmp 0x21599a
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
push ecx
push ecx
mov ecx, dword [ebp + 4]
call fcn.00208736
mov edi, eax
mov dword [ebp], edi
pop ecx
pop ecx
test edi, edi
je 0x215998
mov ebx, dword [ebp + 4]
mov esi, 0xa551406
add ebx, edi
mov ecx, dword [esp + 0xbc]
jmp 0x215710
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0x18]
call fcn.00218c8f
mov dword [esp + 0xb8], eax
mov esi, 0x14284095
jmp 0x2157ea
mov eax, dword [ecx + 4]
mov esi, 0x28f75045
add eax, 0x1000
mov dword [ebp + 4], eax
jmp 0x215710
push dword [ecx]
push dword [esp + 0x38]
push dword [esp + 0x80]
mov edx, dword [esp + 0xc0]
push edi
push dword [ecx + 4]
mov ecx, dword [esp + 0x94]
call fcn.00212674
mov ecx, dword [esp + 0xd0]
add esp, 0x14
mov esi, 0x3013e9c6
add edi, dword [ecx + 4]
jmp 0x215710
push dword [esp + 0x20]
mov edx, dword [esp + 0xac]
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0x4c]
push eax
call fcn.0020edcf
push dword [esp + 0x44]
mov esi, eax
lea edx, [esp + 0x118]
push dword [esp + 0x94]
and esi, 0xf
lea eax, [esp + 0xc8]
push dword [esp + 0x60]
add esi, 4
push esi
push eax
call fcn.0020b605
push dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
lea eax, [esp + 0xd8]
mov ecx, dword [esp + 0xd0]
push eax
mov byte [esp + esi + 0x130], 0
call fcn.0020edcf
push dword [esp + 0x68]
mov esi, eax
lea edx, [esp + 0xf4]
push dword [esp + 0x58]
and esi, 0xf
lea eax, [esp + 0xe4]
push dword [esp + 0x6c]
add esi, 4
push esi
push eax
call fcn.0020b605
push 0x21c710
push dword [esp + 0xcc]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd8]
mov byte [esp + esi + 0x10c], 0
call fcn.0021878f
add esp, 0x40
lea edx, [esp + 0x10c]
mov esi, eax
mov eax, ebx
sub eax, edi
push dword [esp + 0x38]
push esi
push eax
push dword [esp + 0xb8]
lea eax, [esp + 0xdc]
push dword [esp + 0x68]
push edi
push dword [esp + 0xd8]
push eax
push dword [esp + 0x30]
push dword [esp + 0x90]
mov ecx, dword [esp + 0x74]
call fcn.002011c1
push dword [esp + 0x7c]
mov edx, esi
add edi, eax
push dword [esp + 0x40]
mov ecx, dword [esp + 0xa4]
call fcn.00212025
mov ecx, dword [esp + 0xec]
add esp, 0x30
mov esi, 0x10f51287
cmp esi, 0x28249ddd
jne 0x215710
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret