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

Disassembly:
push 0xffffffffffffffff
push 0x77fdc2
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov edi, dword [esp + 0xd4]
xor ebx, ebx
push ebx
xor eax, eax
mov ebp, 7
push 0x7a9cbc
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], ax
call fcn.00403a80
mov dword [esp + 0xcc], ebx
xor ecx, ecx
push ebx
mov word [esp + 0x58], cx
push 0x7a9cc0
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x6c], ebx
call fcn.00403a80
mov byte [esp + 0xcc], 1
push 0xb
xor edx, edx
push 0x7a9cc4
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x88], ebx
mov word [esp + 0x78], dx
call fcn.00403a80
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xd0], 2
mov eax, dword [0x88b148]
push 0xef
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
push ebx
push eax
push 1
push 0x13
mov byte [esp + 0xdc], 3
mov ecx, dword [0x881ea8]
push ebx
push ecx
push edi
lea ecx, [esp + 0x34]
lea edx, [esp + 0x6c]
call fcn.007480c0
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x685f1c
mov edx, dword [esp + 0x38]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], ax
cmp dword [esp + 0x84], esi
jb 0x685f41
mov ecx, dword [esp + 0x70]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ebx
mov word [esp + 0x70], dx
cmp dword [esp + 0x68], esi
jb 0x685f69
mov eax, dword [esp + 0x54]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
mov word [esp + 0x54], cx
mov byte [esp + 0xcc], 8
cmp dword [esp + 0x30], esi
jb 0x685f93
mov edx, dword [esp + 0x1c]
push edx
call fcn.006441c7
add esp, 4
mov dword [edi + method.Sexy::Bej3DialogButton.virtual_228], vtable.Sexy::CheckboxListener.0
xor eax, eax
mov word [esp + 0x1c], ax
mov dword [edi], vtable.Sexy::HelpDialog.0
mov dword [edi + 0xb8], vtable.Sexy::HelpDialog.1.0
mov dword [edi + method.Sexy::HelpDialog.2.virtual_0], vtable.Sexy::HelpDialog.2.0
lea eax, [edi + 0x26c]
push eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov dword [edi + 0x228], ebx
mov dword [edi + 0x22c], ebx
mov dword [edi + 0x230], ebx
mov dword [edi + 0x234], ebx
call fcn.0042bf10
lea ecx, [edi + 0x288]
mov byte [esp + 0xcc], 9
call fcn.00434f60
mov ecx, dword [esp + 0xd8]
mov edx, dword [0x88b12c]
xor eax, eax
mov dword [edi + 0x224], ecx
mov byte [edi + 0x1fa], bl
mov dword [edi + 0x248], eax
mov dword [edi + 0x24c], eax
mov dword [edi + 0x250], eax
mov dword [edi + 0x254], eax
mov ecx, dword [edx + 0x9e0]
mov edx, ecx
imul edx, edx, 0x19
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul ecx, ecx, 0x60e
imul edx, edx, 0x47e
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push esi
push esi
mov ecx, edi
call fcn.0057f540
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
mov edx, ecx
imul edx, edx, 0x14a
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul edx, edx, 0xb4
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, ecx
imul edx, edx, 0x96
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
imul ecx, ecx, 0x5a
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [edi + 0x4c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 0x48]
mov dword [edi + 0x228], eax
mov eax, dword [0x88b12c]
sub ecx, esi
sub edx, ebx
mov dword [edi + 0x22c], ebp
mov dword [edi + 0x230], edx
mov dword [edi + 0x234], ecx
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x15e
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ecx, [edi + 0xb8]
push ecx
add eax, edx
push eax
push 0x3e8
xor ecx, ecx
mov ebx, edi
call fcn.00747f90
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
mov ebp, eax
mov edx, ecx
imul edx, edx, 0x96
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 0x4c]
sub edx, eax
lea ecx, [ecx + ecx*4]
push edx
shl ecx, 5
mov esi, dword [ebp]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
mov edx, dword [esi + 0xa4]
sar eax, 1
sub eax, ecx
push eax
mov ecx, ebp
call edx
mov al, byte [esp + 0xdc]
mov ecx, dword [0x88b12c]
mov byte [edi + 0x258], al
mov eax, dword [ecx + 0xbe0]
xor ebx, ebx
cmp eax, ebx
je 0x68633f
cmp dword [eax + 0x2b40], ebx
jle 0x68633f
mov ecx, dword [eax + 0x26bc]
sub ecx, dword [eax + 0x26b8]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], ebx
cmp eax, 1
jbe 0x6862a5
xor ecx, ecx
push 5
mov word [esp + 0x20], cx
push 0x7a9cdc
lea ecx, [esp + 0x20]
call fcn.00403a80
lea edx, [esp + 0x18]
mov byte [esp + 0xcc], 0xa
mov eax, dword [0x88b148]
push edx
push 0xf0
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0xbc]
mov byte [esp + 0xd8], 0xb
call fcn.00401880
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x686276
mov eax, dword [esp + 0x38]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov byte [esp + 0xcc], 9
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], cx
cmp dword [esp + 0x30], esi
jb 0x68640b
mov edx, dword [esp + 0x1c]
push edx
jmp 0x686403
push 0xa
xor eax, eax
push str.START_GAME
lea ecx, [esp + 0x20]
mov word [esp + 0x24], ax
call fcn.00403a80
lea ecx, [esp + 0x18]
mov byte [esp + 0xcc], 0xc
mov eax, dword [0x88b148]
push ecx
push 0xf1
add eax, 0x7ec
lea esi, [esp + 0x3c]
call fcn.004711e0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0xbc]
mov byte [esp + 0xd8], 0xd
call fcn.00401880
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x686310
mov edx, dword [esp + 0x38]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov byte [esp + 0xcc], 9
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], ax
cmp dword [esp + 0x30], esi
jb 0x68640b
mov ecx, dword [esp + 0x1c]
push ecx
jmp 0x686403
push 5
xor edx, edx
push 0x7a9d00
lea ecx, [esp + 0x94]
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], dx
call fcn.00403a80
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0xd0], 0xe
mov eax, dword [0x88b148]
push 0xf2
add eax, 0x7ec
lea esi, [esp + 0xb0]
call fcn.004711e0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0xbc]
mov byte [esp + 0xd8], 0xf
call fcn.00401880
mov esi, 8
cmp dword [esp + 0xc0], esi
jb 0x6863ce
mov ecx, dword [esp + 0xac]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov byte [esp + 0xcc], 9
mov dword [esp + 0xc0], 7
mov dword [esp + 0xbc], ebx
mov word [esp + 0xac], dx
cmp dword [esp + 0xa4], esi
jb 0x68640b
mov eax, dword [esp + 0x90]
push eax
call fcn.006441c7
add esp, 4
push 0x11c
call fcn.006442a0
add esp, 4
mov dword [esp + 0x88], eax
mov byte [esp + 0xcc], 0x10
cmp eax, ebx
je 0x68644c
mov edx, dword [0x88152c]
lea ecx, [edi + 0x220]
push ecx
mov ecx, dword [0x883028]
push ebx
push ecx
push edx
mov esi, eax
call fcn.0059c550
mov esi, eax
jmp 0x68644e
xor esi, esi
mov byte [esp + 0xcc], 9
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, dword [0x883028]
mov ebp, dword [esi]
mov eax, edx
call fcn.0045a0f0
push eax
mov eax, edx
call fcn.0045a0e0
mov edx, ecx
imul ecx, ecx, 0x41a
imul edx, edx, 0x3fc
push eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp + 0xa0]
push ecx
mov ecx, esi
call edx
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0xb78]
mov ecx, dword [edx + 0x21c]
mov eax, dword [esi]
mov eax, dword [eax + 0x144]
shr ecx, 0x13
and cl, 1
movzx edx, cl
push 1
push edx
mov ecx, esi
call eax
push esi
mov ecx, edi
call fcn.0046fa10
mov dword [edi + 0x25c], esi
mov ecx, dword [edi + 0x27c]
sub ecx, dword [edi + 0x278]
xor ebp, ebp
test ecx, 0xfffffffc
jle 0x686554
jmp 0x686510
mov edx, dword [edi + 0x27c]
sub edx, dword [edi + 0x278]
sar edx, 2
cmp ebp, edx
jb 0x686528
call fcn.006441b7
mov eax, dword [edi + 0x278]
push 1
push ebx
lea eax, [eax + ebp*4]
call fcn.0045adf0
mov esi, eax
call fcn.004427a0
mov ecx, dword [edi + 0x27c]
sub ecx, dword [edi + 0x278]
inc ebp
sar ecx, 2
cmp ebp, ecx
jl 0x686510
mov byte [edi + 0x269], 1
mov byte [edi + 0x268], bl
mov eax, edi
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret 0xc