Function at 0x4a2da0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x20], esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [esi*4 + 0x20a514c]
mov dword [esp + 0x2c], edi
test esi, esi
js 0x4a382f
cmp esi, 0x1194
jge 0x4a382f
cmp dword [ebx + 4], 3
jne 0x4a382f
movzx eax, word [ebx + 0x78]
cmp eax, 1
je 0x4a2dfc
cmp eax, 6
jne 0x4a382f
cmp byte [ebx + 0xa], 0
jg 0x4a382f
cmp byte [ebx + 0x9c0], 0
jne 0x4a382f
cvttss2si eax, dword [ebx + 0xfc]
mov dl, 0xfd
mov ecx, esi
push dword [ebx + 0x154]
movzx eax, al
push eax
call fcn.004e96c0
add esp, 8
cmp byte [ebx + 0x216], 0
jne 0x4a382f
mov eax, dword [ebx + 0x384]
test al, 3
je 0x4a2e58
and eax, 0xffc0
cmp eax, 0xc0
jne 0x4a382f
mov ecx, esi
call fcn.0051fd50
cmp byte [ebx + 0x38c], 1
je 0x4a382f
mov cl, byte [edi + 3]
mov byte [esp + 0x2b], cl
cmp cl, 0xcc
jae 0x4a382f
mov al, byte [edi + 4]
mov byte [esp + 0x1b], al
cmp cl, al
je 0x4a382f
mov edx, dword [ebx + 0x390]
movzx ecx, cl
mov dword [esp + 0x20], ecx
imul ecx, ecx, 0x10c
add edx, ecx
mov dword [esp + 0x10], ecx
movzx ecx, word [edx + 4]
mov esi, ecx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x24]
test cx, cx
js 0x4a382f
mov edi, 0x2000
cmp cx, di
mov edi, dword [esp + 0x2c]
jge 0x4a382f
mov dword [esp + 0x1c], 0x1807
cmp cx, word [esp + 0x1c]
jl 0x4a2eef
mov dword [esp + 0x1c], 0x1818
cmp cx, word [esp + 0x1c]
jle 0x4a37f1
mov dword [esp + 0x1c], 0x1823
cmp cx, word [esp + 0x1c]
je 0x4a37f1
mov dword [esp + 0x1c], 0x182c
cmp cx, word [esp + 0x1c]
jl 0x4a2f24
mov dword [esp + 0x1c], 0x1830
cmp cx, word [esp + 0x1c]
jle 0x4a37f1
mov dword [esp + 0x1c], 0x1e00
cmp cx, word [esp + 0x1c]
jge 0x4a37f1
mov dword [esp + 0x1c], 0x181e
cmp cx, word [esp + 0x1c]
jne 0x4a2f59
movzx eax, al
push eax
push dword [esp + 0x24]
push ebx
call fcn.004d7fa0
jmp 0x4a3380
mov eax, 0x1a0f
cmp cx, ax
jne 0x4a2f9d
movzx edx, word [edx + 6]
mov eax, 3
movsx ecx, dx
sub eax, ecx
cmp byte [edi + 5], 0
jne 0x4a2f8a
cmp dx, 4
cmovge eax, ecx
push eax
push ebx
call fcn.00480f10
jmp 0x4a37f8
cmp dx, 4
cmovge eax, ecx
push eax
push ebx
call fcn.00481430
jmp 0x4a37f8
mov eax, 0x1a30
cmp cx, ax
jne 0x4a2ff3
movsx edi, word [ebx + 0x146]
movsx esi, word [ebx + 0x144]
push ebx
call fcn.0047c950
push edi
push esi
push eax
push dword [esp + 0x30]
call fcn.004acb30
test al, al
je 0x4a382f
mov eax, dword [esp + 0x2c]
push ecx
movzx eax, byte [eax + 3]
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov eax, ecx
add eax, 0xffffe5ca
cmp ax, 4
ja 0x4a3026
movss xmm0, dword [edx + 0x20]
mulss xmm0, dword [0x56a7fc]
cvttss2si eax, xmm0
push eax
movsx eax, cx
sub eax, 0x1a36
push eax
push ebx
call fcn.00481940
jmp 0x4a37f8
mov eax, 0x1a42
cmp cx, ax
jne 0x4a3065
push 0x17
push 0xdf
mov edx, 0x3e
mov ecx, esi
call fcn.005233b0
movzx eax, byte [edi + 3]
add esp, 4
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov eax, 0x1a45
cmp cx, ax
jne 0x4a307b
push ecx
push ebx
call fcn.004d8870
jmp 0x4a37f8
mov eax, 0x1a46
cmp cx, ax
jne 0x4a321b
cmp dword [ebx + 0x9b0], 0
jne 0x4a3104
movzx eax, byte [ebx + 0x149]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x9b4], eax
movsx eax, word [ebx + 0x144]
mov dword [ebx + 0x9b8], eax
movsx eax, word [ebx + 0x146]
mov dword [ebx + 0x9bc], eax
mov al, byte [esp + 0x2b]
mov dword [ebx + 0x9b0], 1
mov dword [edx + 0x20], 0x3f800000
lea edx, [esp + 0x30]
mov byte [esp + 0x33], al
mov eax, dword [ebx + 0x390]
mov word [esp + 0x30], 0x6c1
mov byte [esp + 0x32], 0x2a
mov byte [esp + 0x35], 1
cvttss2si eax, dword [eax + ecx + 0x20]
mov ecx, dword [ebx]
push 6
mov byte [esp + 0x38], al
jmp 0x4a3827
push dword [ebx + 0x9bc]
push dword [ebx + 0x9b8]
push dword [ebx + 0x9b4]
push ebx
call fcn.004cca60
test al, al
jne 0x4a31b1
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xe2
push eax
lea eax, [esp + 0x34]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x38]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x4a3159
cmp dword [eax + 0x10], 0xe2
jle 0x4a315b
mov eax, ecx
cmp eax, ecx
jne 0x4a317e
push 0xe2
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x4a3181
add eax, 0x18
push eax
push 0
push 0
push 0
push 0
push 0
push 1
push dword [ebx]
push 0xb90558
call fcn.004cdc70
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
push dword [ebx + 0x9bc]
mov edx, dword [ebx + 0x9b4]
push dword [ebx + 0x9b8]
mov ecx, dword [ebx]
call fcn.005233b0
mov ecx, dword [ebx]
lea edx, [esp + 0x18]
push 7
mov dword [ebx + 0x9b0], 0
mov dword [ebx + 0x9b4], 0
mov dword [ebx + 0x9b8], 0
mov dword [ebx + 0x9bc], 0
mov dword [esp + 0x1c], 0x40f307c1
mov word [esp + 0x20], 0x3d
mov byte [esp + 0x22], 0
call fcn.00526480
add esp, 0xc
jmp 0x4a37fc
mov eax, 0x1c00
cmp cx, ax
jl 0x4a3233
mov eax, 0x1c06
cmp cx, ax
jle 0x4a37c6
mov eax, 0x1c23
cmp cx, ax
jl 0x4a324b
mov eax, 0x1c28
cmp cx, ax
jle 0x4a37c6
mov eax, 0x1c46
cmp cx, ax
je 0x4a37c6
mov eax, 0x1c47
cmp cx, ax
je 0x4a37c6
mov eax, 0x1c85
cmp cx, ax
je 0x4a37c6
mov eax, 0x1c07
cmp cx, ax
jne 0x4a32c4
cmp word [edx + 6], 0
push 0
push 0
jne 0x4a3294
push 0
push 0
push 0x78
push 0xa
jmp 0x4a329c
push 8
push 0x14
push 0x3c
push 0xb
push 0
push ebx
call fcn.00477200
movzx eax, byte [edi + 3]
push ecx
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov eax, 0x1c08
cmp cx, ax
jne 0x4a32fe
push 0x37
push ebx
call fcn.004774b0
push 0x38
push ebx
call fcn.004774b0
movzx eax, byte [edi + 3]
push ecx
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov eax, 0x1c09
cmp cx, ax
jne 0x4a3318
movsx edx, word [edx + 6]
mov ecx, ebx
call fcn.00526080
jmp 0x4a37fc
mov eax, 0x1c0a
cmp cx, ax
jne 0x4a332e
push ecx
push ebx
call fcn.004d7cc0
jmp 0x4a37f8
mov eax, 0x1c0d
cmp cx, ax
jne 0x4a334a
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004d7fa0
jmp 0x4a3380
mov eax, 0x1c0e
cmp cx, ax
jne 0x4a3366
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004d8270
jmp 0x4a3380
mov eax, 0x1c10
cmp cx, ax
jne 0x4a33c0
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004d8510
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push eax
push esi
call fcn.0049de90
mov al, byte [edi + 3]
lea edx, [esp + 0x10]
push 5
mov ecx, esi
mov word [esp + 0x14], 0x5c1
mov byte [esp + 0x16], 0x28
mov byte [esp + 0x17], al
mov byte [esp + 0x18], 1
call fcn.00526480
add esp, 4
jmp 0x4a369f
mov eax, 0x1c14
cmp cx, ax
jne 0x4a33f9
cmp word [edx + 6], 0
jne 0x4a382f
mov ecx, dword [ebx]
lea edx, [esp + 0x10]
push 6
mov word [esp + 0x14], 0x6c3
mov dword [esp + 0x16], 0x5a0129
call fcn.00526480
add esp, 4
jmp 0x4a37fc
mov eax, 0x1c2a
cmp cx, ax
jne 0x4a3418
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004aace0
jmp 0x4a367f
mov eax, 0x1c2b
cmp cx, ax
je 0x4a37b1
mov eax, 0x1c2c
cmp cx, ax
je 0x4a37b1
mov eax, 0x1c5b
cmp cx, ax
jne 0x4a344a
push edx
push ebx
call fcn.004d8a00
jmp 0x4a3618
mov eax, 0x1c97
cmp cx, ax
je 0x4a3612
mov eax, 0x1ca0
cmp cx, ax
jne 0x4a3584
cmp dword [esp + 0x20], 0xcc
movzx eax, byte [esp + 0x1b]
jae 0x4a382f
cmp eax, 0xcc
jae 0x4a382f
mov edx, dword [ebx + 0x390]
imul eax, eax, 0x10c
lea ecx, [eax + edx]
movzx eax, word [eax + edx + 4]
mov dword [esp + 0x10], ecx
mov ecx, eax
test ax, ax
js 0x4a382f
mov edx, 0x2000
cmp cx, dx
jge 0x4a382f
cwde
mov ecx, 0x9f4360
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00405650
mov eax, dword [esp + 0x38]
mov ecx, dword [0x9f4360]
mov edx, dword [esp + 0x20]
cmp byte [eax + 0xd], 0
jne 0x4a34e7
cmp edx, dword [eax + 0x10]
jge 0x4a34e9
mov eax, ecx
cmp eax, ecx
je 0x4a382f
movd xmm0, dword [0xbdaa44]
mov ecx, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [ecx + 0x20]
comiss xmm0, xmm1
ja 0x4a382f
ucomiss xmm1, dword [0x56a81c]
lahf
test ah, 0x44
jnp 0x4a382f
movzx eax, byte [ecx + 0xd8]
push eax
lea eax, [ecx + 0xd3]
mov dword [ecx + 0x20], 0x437f0000
push eax
movzx eax, byte [ecx + 0xd2]
push eax
movzx eax, byte [ecx + 0xcc]
push eax
movzx eax, byte [ecx + 0xb6]
push eax
movzx eax, byte [ecx + 0x9f]
push eax
movzx eax, byte [ecx + 0x9e]
push eax
movzx eax, byte [ecx + 0x9d]
push eax
movzx eax, byte [ecx + 0x9c]
push eax
push edx
call fcn.00493d40
push dword [ebx]
mov ecx, 0x6509a4
call fcn.004d6bf0
jmp 0x4a3687
mov eax, 0x1ca1
cmp cx, ax
jne 0x4a35a3
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004ab0c0
jmp 0x4a367f
mov eax, 0x1ca2
cmp cx, ax
jne 0x4a35cc
mov eax, dword [ebx + 0x634]
cmp eax, 2
jge 0x4a382f
mov ecx, dword [ebx]
inc eax
mov dword [ebx + 0x634], eax
call fcn.004729b0
jmp 0x4a3620
mov eax, 0x1ca3
cmp cx, ax
jne 0x4a35f5
mov eax, dword [ebx + 0x63c]
cmp eax, 1
jge 0x4a382f
mov ecx, dword [ebx]
inc eax
mov dword [ebx + 0x63c], eax
call fcn.004729b0
jmp 0x4a3620
mov eax, 0x1ca9
cmp cx, ax
jne 0x4a3608
push edx
push ebx
call fcn.004d8a00
jmp 0x4a3618
mov eax, 0x1caa
cmp cx, ax
jne 0x4a364c
push ebx
call fcn.004f02e0
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push eax
push esi
call fcn.0049de90
movzx eax, byte [edi + 3]
push 1
push eax
push esi
call fcn.004a59c0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov eax, 0x1cd1
cmp cx, ax
je 0x4a382f
movsx eax, cx
push eax
mov dword [esp + 0x14], eax
call fcn.0044f3d0
test al, al
je 0x4a372e
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.0044fd90
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push eax
push esi
call fcn.0049de90
movzx eax, byte [edi + 3]
push 1
push eax
push esi
call fcn.004a59c0
mov dl, byte [edi + 4]
movzx eax, dl
imul ecx, eax, 0x10c
mov eax, dword [esi*4 + 0x20a514c]
mov esi, dword [eax + 0x390]
movzx eax, word [esi + ecx + 4]
add esi, ecx
mov ecx, eax
test ax, ax
js 0x4a382f
mov eax, 0x2000
cmp cx, ax
jge 0x4a382f
sub esp, 0x10c
mov dword [esp + 0x13c], 0x14f311c1
mov edi, esp
mov byte [esp + 0x140], dl
lea eax, [esp + 0x141]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0049ee40
movzx eax, byte [esp + 0x31]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x2c]
call fcn.005192f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov eax, 0x6460e4
nop dword [eax]
test ecx, ecx
js 0x4a3757
cmp ecx, 0x100
jge 0x4a3757
mov edx, dword [eax]
cmp edx, ecx
jne 0x4a3757
cmp dword [eax + 8], esi
je 0x4a3776
add eax, 0x4c
inc ecx
cmp eax, 0x64ace4
jl 0x4a3740
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
push 0
push 0
push 0
push 0
push 0
push edx
push 0
push ebx
call fcn.00477200
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push ecx
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
movzx eax, byte [esp + 0x1b]
push eax
push dword [esp + 0x24]
push ebx
call fcn.004aaef0
jmp 0x4a367f
push edx
push ebx
call fcn.004d78c0
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push ecx
push eax
push ebx
call fcn.0049f680
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
push edx
push ebx
call fcn.004d74f0
test al, al
je 0x4a382f
movzx eax, byte [edi + 3]
push eax
push esi
call fcn.0049de90
mov al, byte [edi + 3]
lea edx, [esp + 0x10]
push 5
mov word [esp + 0x14], 0x5c1
mov ecx, esi
mov byte [esp + 0x16], 0x28
mov byte [esp + 0x17], al
mov byte [esp + 0x18], 1
call fcn.00526480
add esp, 4
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8