Function at 0x468d90
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
cmp dword [0xbdaea4], 0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
je case.default.0x4690fa
mov edi, dword [esi*4 + 0x20a514c]
test esi, esi
js case.default.0x4690fa
cmp esi, 0x1194
jge case.default.0x4690fa
cmp dword [edi + 4], 3
jne case.default.0x4690fa
movzx eax, word [edi + 0x78]
cmp eax, 1
je 0x468de3
cmp eax, 6
jne case.default.0x4690fa
cmp byte [edi + 0xa], 0
jg case.default.0x4690fa
cmp byte [edi + 0x9c0], 0
jne case.default.0x4690fa
mov edx, dword [ebp + 8]
mov dword [esp + 0x10], 0x9004c1
mov cl, byte [edx + 4]
sub cl, 0xc
mov byte [edx + 4], cl
mov dl, byte [edx + 3]
cmp dl, 7
jae 0x468f0b
mov eax, dword [edi + 0x644]
mov ebx, dword [eax*4 + 0xbdaeac]
test ebx, ebx
je 0x468ec9
movzx eax, word [edi + 0x116e]
cmp eax, ebx
jl 0x468ec9
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x393
push eax
lea eax, [esp + 0x20]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x24]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x468e73
cmp dword [eax + 0x10], 0x393
jle 0x468e75
mov eax, ecx
cmp eax, ecx
jne 0x468eae
push 0x393
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
push ebx
push eax
push 0
push 0
push esi
call fcn.004ead50
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ebx
add eax, 0x18
push eax
push 0
push 0
push esi
call fcn.004ead50
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx ebx, dl
imul edx, ebx, 0x730
lea eax, [edx + 0x64023c]
mov dword [esp + 0x14], eax
cmp cl, 0xcc
jae 0x468f0b
movzx eax, cl
mov esi, 0x1c13
imul ecx, eax, 0x10c
add ecx, dword [edi + 0x390]
movzx eax, word [ecx + 4]
cmp ax, si
mov esi, dword [ebp + 0xc]
je 0x468f15
mov ecx, 0x1a2e
cmp ax, cx
je 0x468f2a
mov byte [esp + 0x13], 1
jmp 0x469199
movsx ecx, word [ecx + 6]
lea eax, [ebx + 1]
cmp ecx, eax
je 0x468f2a
mov byte [esp + 0x13], 1
jmp 0x469199
cmp ebx, 7
jae 0x469194
cmp dword [edx + 0x640254], 0
je 0x469194
mov ecx, dword [edx + 0x640244]
test ecx, ecx
js 0x469194
cmp ecx, 0x6e
jge 0x469194
mov eax, dword [0xa0cdb0]
test eax, eax
je 0x469194
cmp dword [eax + 4], 0
je 0x469194
cmp word [eax + ecx*2 + 0x1e], 0xfffd
jne 0x469194
push edi
call fcn.0047c5f0
cmp eax, ebx
jle 0x468f8e
mov byte [esp + 0x13], 3
jmp 0x469199
jge 0x468f9a
mov byte [esp + 0x13], 4
jmp 0x469199
mov edx, dword [esp + 0x14]
xor ebx, ebx
add edx, 0x28
mov eax, edx
lea esi, [ebx + 0x32]
mov ecx, dword [eax]
test ecx, ecx
js 0x468fb7
cmp ecx, 0x1194
jge 0x468fb7
inc ebx
add eax, 0x14
sub esi, 1
jne 0x468fa8
mov esi, dword [ebp + 0xc]
cmp ebx, dword [0xbdaea8]
jl 0x468fd4
mov byte [esp + 0x13], 5
jmp 0x469199
cmp dword [0xbda8ec], 0
jne 0x468ff9
cmp byte [edi + 0x13d], 4
jl 0x468ff9
cmp dword [0xbdcc78], 0
jne 0x468ff9
mov byte [esp + 0x13], 6
jmp 0x469199
xor ecx, ecx
mov eax, edx
nop dword [eax]
cmp dword [eax], esi
je 0x46900f
inc ecx
add eax, 0x14
cmp ecx, 0x32
jl 0x469000
jmp 0x469013
test eax, eax
jne 0x468fca
xor ecx, ecx
mov eax, dword [edx]
test eax, eax
js 0x469035
cmp eax, 0x1194
jge 0x469035
inc ecx
add edx, 0x14
cmp ecx, 0x32
jl 0x469015
mov byte [esp + 0x13], 5
jmp 0x469199
mov edx, dword [esp + 0x14]
lea eax, [ecx + ecx*4]
mov dword [edx + eax*4 + 0x28], esi
lea eax, [ecx + ecx*4]
mov dword [edx + eax*4 + 0x2c], 0
mov dword [edx + eax*4 + 0x30], 0
mov dword [edx + eax*4 + 0x34], 0
mov dword [edx + eax*4 + 0x38], 0
mov ecx, dword [esi*4 + 0x20a514c]
inc word [ecx + 0x116e]
mov ecx, dword [ecx]
call fcn.004729b0
mov ebx, dword [ebp + 8]
push ecx
movzx eax, byte [ebx + 4]
push eax
push edi
call fcn.0049f680
movzx edx, byte [ebx + 4]
mov esi, 0x1c13
mov eax, dword [edi + 0x390]
imul ecx, edx, 0x10c
cmp word [ecx + eax + 4], si
mov esi, dword [ebp + 0xc]
jne 0x4690d6
push edx
push dword [edi]
call fcn.0049de90
mov al, byte [ebx + 4]
lea edx, [esp + 0x14]
mov ecx, dword [edi]
push 5
mov word [esp + 0x18], 0x5c1
mov byte [esp + 0x1a], 0x28
mov byte [esp + 0x1b], al
mov byte [esp + 0x1c], 1
call fcn.00526480
add esp, 4
push 4
lea eax, [esp + 0x14]
push eax
push esi
call fcn.005192f0
and dword [edi + 0x384], 0xffff0000
movzx eax, byte [ebx + 3]
cmp eax, 6
ja case.default.0x4690fa
jmp dword [eax*4 + 0x4691b0]
mov edx, 0x3a
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x3b
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x3c
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x3d
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x6f
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x70
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, 0x10e
mov ecx, esi
call fcn.00522900
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x13], 2
push 4
lea eax, [esp + 0x14]
push eax
push esi
call fcn.005192f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8