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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x22
push 0
push 0
dec ecx
jne 0x83478c
push ebx
push esi
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x8353ca
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
call fcn.00835638
mov eax, dword [ebp - 0x2c]
call fcn.00835bfc
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
movzx eax, byte [eax + 0x31]
cmp eax, 6
ja case.default.0x8347c8
jmp dword [eax*4 + 0x8347cf]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x30], eax
jmp 0x834840
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x30], eax
jmp 0x834840
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
call fcn.00813a54
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
movzx eax, byte [eax + 0x30]
sub al, 1
jb 0x834873
je 0x8348bf
dec al
je 0x83490b
dec al
je 0x834954
jmp 0x8349c8
lea edx, [ebp - 4]
mov eax, 0x83461c
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
lea edx, [eax + 0x18]
mov eax, 0x83463c
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov dword [eax + 0x1c], 0x14
jmp 0x8349c8
lea edx, [ebp - 4]
mov eax, 0x834624
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
lea edx, [eax + 0x18]
mov eax, 0x834644
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov dword [eax + 0x1c], 0xb
jmp 0x8349c8
lea edx, [ebp - 4]
mov eax, 0x83462c
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
lea edx, [eax + 0x18]
mov eax, 0x83464c
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov dword [eax + 0x1c], 0xb
jmp 0x8349c8
lea edx, [ebp - 4]
mov eax, 0x834634
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
lea edx, [eax + 0x18]
mov eax, 0x834654
call fcn.00411828
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov dword [eax + 0x1c], 0x14
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x68]
cmp eax, dword [ebp - 0x30]
jne 0x8349b8
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
mov edx, 0x835400
call fcn.00813c84
jmp 0x8349c8
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
mov edx, 0x835424
call fcn.00813c84
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
cmp byte [eax + 0x30], 2
je 0x8349ef
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835448
call fcn.00791ae4
xor edx, edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
cmp byte [eax + 0x30], 0
jne 0x834a17
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov byte [eax + 0x14], 6
jmp 0x834a2e
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x8353e8
call fcn.00791ae4
mov byte [eax + 0x14], 4
mov byte [ebp - 0x31], 0
mov byte [ebp - 0x32], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x834a48
sub eax, 4
mov eax, dword [eax]
mov esi, eax
dec esi
test esi, esi
jl 0x834a8a
inc esi
xor ebx, ebx
lea edx, [ebx + ebx*4]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x94]
cmp dword [eax + edx*8 + 0x18], 0
jle 0x834a69
mov byte [ebp - 0x31], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x94]
fldz
fld qword [eax + edx*8 + 0x20]
fucompp
wait
fnstsw ax
sahf
jp 0x834a82
jbe 0x834a86
mov byte [ebp - 0x32], 1
inc ebx
dec esi
jne 0x834a52
cmp byte [ebp - 0x31], 0
jne 0x834aa8
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835464
call fcn.00791ae4
xor edx, edx
mov dword [eax + 0x1c], edx
cmp byte [ebp - 0x32], 0
jne 0x834ac6
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835484
call fcn.00791ae4
xor edx, edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x64]
mov edx, dword [eax]
call dword [edx + 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
call fcn.00791b54
mov esi, eax
dec esi
test esi, esi
jl 0x834b27
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00791a2c
cmp dword [eax + 0x1c], 0
jle 0x834b23
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00791a2c
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x64]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x834ae9
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
movzx eax, byte [eax + 0x31]
cmp al, 6
je 0x834b3c
cmp al, 5
jne 0x834bb6
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
mov edx, 0x83549c
call fcn.00813bf4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
mov edx, 0x8354ac
call fcn.00813d84
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
mov edx, 0x8354dc
call fcn.00813c84
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835500
call fcn.00791ae4
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835518
call fcn.00791ae4
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835530
call fcn.00791ae4
mov byte [eax + 0x14], 1
jmp 0x834c83
cmp al, 1
jne 0x834c3e
push 0x835548
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 0x8c]
mov edx, dword [0x862f10]
push dword [edx + eax*4 + 0x20]
push 0x835570
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.0040c23c
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x7c]
call fcn.00813c3c
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835500
call fcn.00791ae4
mov byte [eax + 0x14], 2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835518
call fcn.00791ae4
mov byte [eax + 0x14], 2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835530
call fcn.00791ae4
mov byte [eax + 0x14], 2
jmp 0x834c83
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835500
call fcn.00791ae4
mov byte [eax + 0x14], 7
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835518
call fcn.00791ae4
mov byte [eax + 0x14], 7
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x80]
mov edx, 0x835530
call fcn.00791ae4
mov byte [eax + 0x14], 7
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x84]
cmp eax, dword [ebp - 0x30]
je 0x835288
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
cmp eax, dword [ebp - 0x30]
jne 0x834fe2
lea eax, [ebp - 0x5c]
push eax
lea edx, [ebp - 0x60]
mov eax, 0x83460c
call fcn.00411828
mov eax, dword [ebp - 0x60]
push eax
mov eax, 0x835580
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x6c], 0x11
mov eax, dword [ebp - 4]
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], 0x11
lea edx, [ebp - 0x70]
mov ecx, 1
pop eax
call fcn.004293dc
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
add eax, 0x68
call fcn.0040b264
push 0x8355a0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
push dword [eax + 0x68]
push 0x8355e4
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.0040c23c
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x74]
call fcn.0040c054
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x6c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor eax, eax
push ebp
push 0x834e88
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x14]
mov eax, 0x834664
call fcn.00411828
lea edx, [ebp - 0x10]
mov eax, 0x834614
call fcn.00411828
lea eax, [ebp - 0xc]
call fcn.006ef2f8
call fcn.0042b67c
fstp qword [ebp - 0x40]
wait
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
lea ecx, [ebp - 8]
mov edx, dword [0x862f54]
mov eax, 0x8355fc
call fcn.0042c7b8
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0x11
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0x11
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x9c]
push dword [eax + 0x98]
lea edx, [ebp - 0xb0]
mov al, 1
call fcn.006fbfc0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 0x98], 0x11
mov eax, dword [ebp - 0x2c]
push dword [eax + 0xa4]
push dword [eax + 0xa0]
lea edx, [ebp - 0xb4]
mov al, 1
call fcn.006fbfc0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x94], eax
mov byte [ebp - 0x90], 0x11
lea edx, [ebp - 0xac]
mov ecx, 3
mov eax, dword [ebp - 0x10]
call fcn.004293dc
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0x11
lea edx, [ebp - 0x88]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
call fcn.004293dc
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
call fcn.0040c054
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x834e8f
lea eax, [ebp - 0x14]
call fcn.0040ae84
lea eax, [ebp - 0x10]
call fcn.0040ae84
lea eax, [ebp - 0xc]
call fcn.0040ae84
pop eax
jmp eax
lea eax, [ebp - 0xe4]
push eax
lea edx, [ebp - 0xe8]
mov eax, 0x83460c
call fcn.00411828
mov eax, dword [ebp - 0xe8]
push eax
mov eax, 0x835580
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x6c], 0x11
mov eax, dword [ebp - 4]
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], 0x11
lea edx, [ebp - 0x70]
mov ecx, 1
pop eax
call fcn.004293dc
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
call fcn.0040c054
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x6c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor eax, eax
push ebp
push 0x83516f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x24]
mov eax, 0x834614
call fcn.00411828
lea eax, [ebp - 0x20]
call fcn.006ef2f8
call fcn.0042b67c
fstp qword [ebp - 0x50]
wait
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
lea ecx, [ebp - 0x1c]
mov edx, dword [0x862f54]
mov eax, 0x8355fc
call fcn.0042c7b8
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0x11
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0x11
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x9c]
push dword [eax + 0x98]
lea edx, [ebp - 0xf4]
mov al, 1
call fcn.006fbfc0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 0x98], 0x11
mov eax, dword [ebp - 0x2c]
push dword [eax + 0xa4]
push dword [eax + 0xa0]
lea edx, [ebp - 0xf8]
mov al, 1
call fcn.006fbfc0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x94], eax
mov byte [ebp - 0x90], 0x11
lea edx, [ebp - 0xac]
mov ecx, 3
mov eax, dword [ebp - 0x24]
call fcn.004293dc
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0xec]
call fcn.0040c054
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x835176
lea eax, [ebp - 0x24]
call fcn.0040ae84
lea eax, [ebp - 0x20]
call fcn.0040ae84
pop eax
jmp eax
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x88]
call fcn.00701c6c
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x30]
add eax, 0x110
call fcn.0040b264
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x120], 0
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0xa0]
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8353d4
lea eax, [ebp - 0x110]
mov edx, 3
call fcn.0040aee4
lea eax, [ebp - 0x104]
call fcn.0040aecc
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.0040af14
lea eax, [ebp - 0xf8]
mov edx, 3
call fcn.0040aee4
lea eax, [ebp - 0xec]
call fcn.0040aecc
lea eax, [ebp - 0xe8]
mov edx, 2
call fcn.0040aee4
lea eax, [ebp - 0xe0]
call fcn.0040aecc
lea eax, [ebp - 0xdc]
call fcn.0040ae84
lea eax, [ebp - 0xd0]
mov edx, 4
call fcn.0040aee4
lea eax, [ebp - 0xc0]
call fcn.0040aecc
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.0040af14
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.0040aee4
lea eax, [ebp - 0x8c]
call fcn.0040ae84
lea eax, [ebp - 0x80]
call fcn.0040ae84
lea eax, [ebp - 0x7c]
call fcn.0040aecc
lea eax, [ebp - 0x78]
call fcn.0040ae84
lea eax, [ebp - 0x74]
call fcn.0040aecc
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.0040aee4
lea eax, [ebp - 0x1c]
call fcn.0040ae84
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040aee4
pop eax
jmp eax