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

Disassembly:
sub esp, 0x7c
push ebx
mov ebx, dword [esp + 0x8c]
push ebp
push esi
mov esi, dword [esp + 0x8c]
push edi
push dword [esp + 0x9c]
push ebx
push dword [esp + 0x9c]
push esi
push edx
push ecx
call fcn.0030aa7d
mov dword [esp + 0x94], 0x703306
xor edi, edi
mov dword [esp + 0x98], 0xd9904b
add esp, 0x18
mov dword [esp + 0x84], edi
xor edx, edx
mov dword [esp + 0x24], 0xd6368d
mov ecx, 0x8d51520
add dword [esp + 0x24], 0xffff0898
shl dword [esp + 0x24], 8
imul eax, dword [esp + 0x24], 0x71
push 0x3f
pop ebp
push 0x2c
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x20df5501
mov dword [esp + 0x38], 0x5aebdb
add dword [esp + 0x38], 0xffff6bf0
or dword [esp + 0x38], 0x23bc5d6e
xor dword [esp + 0x38], 0x23fe5fee
mov dword [esp + 0x6c], 0x7b93d3
shl dword [esp + 0x6c], 3
xor dword [esp + 0x6c], 0x3dc9e98
mov dword [esp + 0x60], 0x7fa5a7
mov eax, dword [esp + 0x60]
div ebp
xor edx, edx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x206b1
mov dword [esp + 0x74], 0x6af216
shr dword [esp + 0x74], 6
xor dword [esp + 0x74], 0x1abc8
mov dword [esp + 0x58], 0x8be78
xor dword [esp + 0x58], 0x2c543c5a
xor dword [esp + 0x58], 0x2c5c8222
mov dword [esp + 0x44], 0xdd2e90
mov eax, dword [esp + 0x44]
pop ebp
div ebp
push 0x78
mov dword [esp + 0x44], eax
xor edx, edx
shr dword [esp + 0x44], 2
xor dword [esp + 0x44], 0x141b8
mov dword [esp + 0x70], 0x5a546e
imul eax, dword [esp + 0x70], 0x27
pop ebp
mov dword [esp + 0x6c], eax
xor dword [esp + 0x6c], 0xdcfed8a
mov dword [esp + 0x64], 0x55ad88
or dword [esp + 0x64], 0x2cb2d29e
xor dword [esp + 0x64], 0x2cf4af71
mov dword [esp + 0x28], 0x23dfdb
shr dword [esp + 0x28], 0xe
add dword [esp + 0x28], 0x6cb8
add dword [esp + 0x28], 0x6f44
xor dword [esp + 0x28], 0x3c10a
mov dword [esp + 0x60], 0x73bd7
add dword [esp + 0x60], 0xabbf
xor dword [esp + 0x60], 0xd48a9
mov dword [esp + 0x20], 0x39c662
mov eax, dword [esp + 0x20]
div ebp
mov dword [esp + 0x20], eax
shl dword [esp + 0x20], 0xf
xor dword [esp + 0x20], 0x201d04c9
xor dword [esp + 0x20], 0x1db3e1f8
mov dword [esp + 0x48], 0x12457d
shl dword [esp + 0x48], 3
xor edx, edx
or dword [esp + 0x48], 0x765694b5
xor dword [esp + 0x48], 0x76d6696d
mov dword [esp + 0x44], 0x2db85
shl dword [esp + 0x44], 6
imul eax, dword [esp + 0x44], 0x4f
push 0x5a
pop ebp
push 0x1c
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0x386acd72
mov dword [esp + 0x54], 0xfd9d
shr dword [esp + 0x54], 6
xor dword [esp + 0x54], 0xf033b
mov dword [esp + 0x14], 0x74e423
shr dword [esp + 0x14], 0xd
mov eax, dword [esp + 0x14]
div ebp
xor edx, edx
mov dword [esp + 0x14], eax
or dword [esp + 0x14], 0x17c338f6
xor dword [esp + 0x14], 0x17c2dffe
mov dword [esp + 0x40], 0x3efc6f
shr dword [esp + 0x40], 9
shl dword [esp + 0x40], 0xc
xor dword [esp + 0x40], 0x1f38ae0
mov dword [esp + 0x20], 0x557cdf
mov eax, dword [esp + 0x20]
pop ebp
div ebp
push 0x23
mov dword [esp + 0x20], eax
xor edx, edx
add dword [esp + 0x20], 0x6e1d
add dword [esp + 0x20], 0xffff6355
xor dword [esp + 0x20], 0xf457f
mov dword [esp + 0x5c], 0x326530
or dword [esp + 0x5c], 0x4d871f9a
xor dword [esp + 0x5c], 0x4db60529
mov dword [esp + 0x3c], 0x98e07d
imul eax, dword [esp + 0x3c], 0x7e
pop ebp
push 0x13
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
div ebp
xor edx, edx
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x226ddf7
mov dword [esp + 0x1c], 0x8562e9
or dword [esp + 0x1c], 0xece899b8
xor dword [esp + 0x1c], 0x75744f8f
imul eax, dword [esp + 0x1c], 0x6f
pop ebp
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x99a8ef19
mov dword [esp + 0x30], 0x90510c
xor dword [esp + 0x30], 0x8fcfa690
add dword [esp + 0x30], 0xb862
xor dword [esp + 0x30], 0x8f6165ee
mov dword [esp + 0x14], 0x7e6b68
or dword [esp + 0x14], 0x4a3bbe39
imul eax, dword [esp + 0x14], 0x7c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
div ebp
mov ebp, 0xb171b1
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x1234417
mov dword [esp + 0x4c], 0xd489d3
add dword [esp + 0x4c], 0xffff68bc
add dword [esp + 0x4c], 0xa43
xor dword [esp + 0x4c], 0xd2d0b5
mov dword [esp + 0x2c], 0xdebe63
shr dword [esp + 0x2c], 0xa
add dword [esp + 0x2c], 0x653
add dword [esp + 0x2c], 0xffff4a94
xor dword [esp + 0x2c], 0xfff40c0b
cmp ecx, ebp
je 0x31b500
cmp ecx, 0x509ff49
je 0x31b4a2
cmp ecx, 0x8d51520
je 0x31b49e
cmp ecx, 0xf0f9328
je 0x31b478
cmp ecx, 0xf27ccb6
jne 0x31b566
mov edx, dword [esp + 0x2c]
push dword [esp + 0x74]
mov ecx, dword [esp + 0x50]
call fcn.0030768d
pop ecx
jmp 0x31b584
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x7c]
call fcn.0031f6a3
mov dword [esp + 0x78], eax
pop ecx
test eax, eax
je 0x31b584
mov ecx, 0x509ff49
jmp 0x31b435
mov ecx, ebp
jmp 0x31b435
push dword [esp + 0x74]
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x1c]
push dword [esi + 4]
push dword [esp + 0x40]
push dword [esp + 0x2c]
push dword [esp + 0x4c]
push dword [esp + 0x70]
push dword [esp + 0x58]
push ecx
push dword [esi]
push dword [esp + 0x84]
push dword [esp + 0x4c]
mov edx, dword [0x32420c]
push ecx
push dword [esp + 0xb0]
mov ecx, dword [esp + 0x78]
mov edx, dword [edx]
call fcn.0031f036
add esp, 0x3c
cmp eax, dword [esp + 0x40]
je 0x31b574
mov ecx, 0xf27ccb6
jmp 0x31b435
push edi
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x4c]
push dword [esi + 4]
push dword [esp + 0x58]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x78]
push dword [esp + 0x80]
push ecx
push dword [esi]
push dword [esp + 0x54]
push dword [esp + 0x94]
push ecx
push dword [esp + 0xa0]
mov edx, dword [0x32420c]
mov ecx, dword [esp + 0xa8]
mov edx, dword [edx]
call fcn.0031f036
add esp, 0x3c
cmp eax, dword [esp + 0x70]
jne 0x31b561
mov ecx, 0xf0f9328
jmp 0x31b435
mov ecx, 0x1c3b3db
cmp ecx, 0x1c3b3db
jne 0x31b435
jmp 0x31b584
mov eax, dword [esp + 0x74]
xor edi, edi
mov dword [ebx], eax
inc edi
mov eax, dword [esp + 0x78]
mov dword [ebx + 4], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret