Function at 0x4556c0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push ebx
push esi
push edi
add esp, 0xffffffd4
mov al, byte [esp + 0x48]
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x455716
mov edx, dword [edi + 0x24]
mov ebx, dword [edi + 0x2c]
cmp al, 0x18
je 0x4556ff
cmp al, 5
je 0x4556e8
mov ecx, edx
jmp 0x455776
mov ecx, edx
jmp 0x4556f6
inc ecx
cmp ecx, 0x3c
jbe 0x455b98
cmp ecx, 0x3c
jb 0x4556ec
mov ecx, edx
jmp 0x455776
mov ecx, edx
jmp 0x45570e
dec ecx
cmp ecx, 0x3c
jbe 0x455baa
test ecx, ecx
jne 0x455704
mov ecx, edx
jmp 0x455776
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x5c]
push ecx
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.0044f420
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x455774
cmp edx, 0x3c
ja 0x455762
bt dword [edi + 0xba4], edx
jb 0x455770
mov ecx, edx
mov dword [0x5b0f7c], 0
jmp 0x455776
mov ecx, edx
jmp 0x455776
mov ecx, edx
test edi, edi
je 0x455b79
mov byte [0x5b0f58], 1
push ecx
call fcn.0043fd70
pop ecx
push 0
movzx eax, word [edi + ecx*2 + 0xd8]
add eax, ebx
push eax
mov dword [esp + 8], ecx
call fcn.0043ed60
mov ecx, dword [esp]
mov dl, byte [edi + ecx + 0x9b]
test dl, dl
je 0x455b6d
cmp dword [edi + 0x24], ecx
jne 0x4557c2
cmp dword [edi + 0x2c], ebx
je 0x455b6d
push dword [edi]
mov dword [esp + 4], ecx
call fcn.00442ab0
mov ecx, dword [esp]
mov dword [edi], 0
mov al, byte [edi + ecx + 0x5e]
test al, al
je 0x455af6
mov al, byte [edi + ecx + 0x9b]
cmp al, 0x63
je 0x455aef
cmp al, 0x69
je 0x455ae6
cmp al, 0x46
je 0x455ad6
cmp al, 0x43
je 0x455ac6
cmp al, 0x4b
je 0x455a8b
cmp al, 0xbe
je 0x455a18
cmp al, 0x90
je 0x455a0c
cmp al, 0x8f
je 0x455a00
cmp al, 0x92
je 0x4559f4
cmp al, 0xd4
je 0x4559e8
cmp al, 0x91
je 0x4559dc
cmp al, 0x10
je 0x4559d0
cmp al, 0x9d
je 0x4559bd
cmp al, 0x89
je 0x4559b1
cmp al, 0xaf
je 0x45599c
cmp al, 0x93
je 0x455984
cmp al, 0xcc
je 0x45596c
cmp al, 0xb4
je 0x455958
cmp al, 0xb6
je 0x455946
cmp al, 0xb8
je 0x455933
cmp al, 0xd5
je 0x455917
cmp al, 0xdb
je 0x4558fe
cmp al, 0xbd
je 0x4558e9
cmp al, 0xb9
je 0x4558dd
cmp al, 0xce
je 0x4558cb
cmp al, 0xcb
je 0x4558bf
cmp al, 0xd1
jne 0x455af6
push ecx
mov dword [esp + 4], ecx
call fcn.004512e0
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.00450820
pop ecx
jmp 0x455af6
push ecx
mov dword [esp + 4], ecx
call fcn.00451290
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.00451dc0
pop ecx
jmp 0x455af6
cmp ecx, 5
jne 0x455af6
push ecx
call fcn.00453410
pop ecx
jmp 0x455af6
push 0xffffffffffffffdc
mov dword [0x5b0f64], ecx
mov dword [esp + 4], ecx
call fcn.00449490
mov ecx, dword [esp]
jmp 0x455af6
cmp ebx, 0
jbe 0x455af6
push 0xffffffffffffffd6
mov dword [esp + 4], ecx
call fcn.00449490
mov ecx, dword [esp]
jmp 0x455af6
push 0xffffffffffffff9c
mov dword [esp + 4], ecx
call fcn.00449490
mov ecx, dword [esp]
jmp 0x455af6
push ecx
mov dword [esp + 4], ecx
call fcn.004531b0
mov ecx, dword [esp]
jmp 0x455af6
push 0
push ecx
mov dword [esp + 8], ecx
call fcn.00452b40
mov ecx, dword [esp]
jmp 0x455af6
push 2
push ebx
push ecx
push dword [edi + 0x34]
mov dword [esp + 0x10], ecx
call fcn.0044c170
mov ecx, dword [esp]
jmp 0x455af6
push 1
push ebx
push ecx
push dword [edi + 0x34]
mov dword [esp + 0x10], ecx
call fcn.0044b030
mov ecx, dword [esp]
jmp 0x455af6
push ecx
push dword [edi + 0x34]
mov dword [esp + 8], ecx
call fcn.00449730
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.00453e40
pop ecx
jmp 0x455af6
push 0
mov dword [esp + 4], ecx
call fcn.00454390
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.00454120
pop ecx
jmp 0x455af6
push ecx
call fcn.00446140
pop ecx
jmp 0x455af6
push ecx
call fcn.004460e0
pop ecx
jmp 0x455af6
push ecx
call fcn.00445960
pop ecx
jmp 0x455af6
push ecx
call fcn.00445760
pop ecx
jmp 0x455af6
push ecx
call fcn.00445d00
pop ecx
jmp 0x455af6
cmp ecx, 1
je 0x455a82
cmp ecx, 2
je 0x455a79
cmp ecx, 3
je 0x455a67
cmp ecx, 4
je 0x455a52
cmp ecx, 5
je 0x455a46
cmp ecx, 6
jne 0x455af6
push ecx
call fcn.00446be0
pop ecx
jmp 0x455af6
push ecx
call fcn.00446740
pop ecx
jmp 0x455af6
push 0x60
push 0xffffffffffffff82
mov dword [esp + 8], ecx
call fcn.00446ec0
mov ecx, dword [esp]
jmp 0x455af6
push 0x62
push 0xffffffffffffff83
mov dword [esp + 8], ecx
call fcn.00446ec0
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.004463f0
pop ecx
jmp 0x455af6
push ecx
call fcn.00446990
pop ecx
jmp 0x455af6
push 0x15
lea edx, [esp + 8]
push edx
push 0x5f
mov dword [esp + 0xc], ecx
call fcn.0043e900
mov ecx, dword [esp]
mov al, byte [esp + 4]
cmp al, 0x63
je 0x455abd
cmp al, 0x58
je 0x455abd
cmp al, 0x59
je 0x455abd
cmp al, 0x32
je 0x455abd
push ecx
call fcn.00446310
pop ecx
jmp 0x455af6
push ecx
call fcn.004463f0
pop ecx
jmp 0x455af6
push 1
mov dword [esp + 4], ecx
call fcn.00454090
mov ecx, dword [esp]
jmp 0x455af6
push 3
mov dword [esp + 4], ecx
call fcn.004403f0
mov ecx, dword [esp]
jmp 0x455af6
push ecx
call fcn.00447f00
pop ecx
jmp 0x455af6
push ecx
call fcn.004461e0
pop ecx
mov eax, dword [edi + 0x28]
cmp eax, 0
jbe 0x455b32
push eax
push dword [edi + 0x2c]
push edi
mov dword [esp + 0xc], ecx
call fcn.00448f70
mov ecx, dword [esp]
mov eax, dword [edi + 0x28]
cmp eax, 0x3c
ja 0x455b32
bt dword [edi + 0xba4], eax
jae 0x455b32
push 0
push 0
push eax
push edi
mov dword [esp + 0x10], ecx
call fcn.00448c90
mov ecx, dword [esp]
mov dword [edi + 0x24], ecx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x28], ecx
cmp ecx, 0x3c
ja 0x455b54
bt dword [edi + 0xba4], ecx
jae 0x455b54
push 0
push 1
push ecx
push edi
call fcn.00448c90
push dword [edi + 0x28]
push dword [edi + 0x2c]
push edi
call fcn.00448f70
push 0
push 0
call fcn.00455600
mov al, 1
jmp 0x455b8b
push esi
push ebp
push edi
call fcn.00455650
xor al, al
jmp 0x455b8b
push 0
push 0
mov byte [0x5b0f58], 0
call fcn.0043ed60
xor al, al
sub esp, 0xffffffd4
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
bt dword [edi + 0xba4], ecx
jae 0x4556f6
jmp 0x455776
bt dword [edi + 0xba4], ecx
jae 0x45570e
jmp 0x455776