Function at 0x11547f0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ecx, edx
push edi
push esi
push ebx
sub esp, 0x51c
mov dword [esp + 0xc], eax
mov eax, dword [eax]
mov edi, dword [eax + 0x7c]
mov ebx, dword [eax + 0xbc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
test ebx, ebx
je 0x1154e90
lea eax, [esp + 0x60]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x504]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xc], 0
mov edi, dword [eax + 0x104]
mov dword [ebx + 0xf4], ecx
mov dword [esp + 0x54], ebx
mov dword [eax + 0x104], ebx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x2c], edi
mov edi, ecx
lea esi, [esi]
lea edx, [esp + 0x3c]
mov eax, edi
call fcn.010a11b0
sub dword [esp + 0x24], eax
mov esi, eax
js 0x1154dc8
mov eax, dword [esp + 0x3c]
cmp eax, 0xa3
jg 0x1154bb0
lea ebx, [edi + esi]
mov dword [esp + 0x20], eax
mov edx, esi
mov ebp, eax
mov dword [esp + 0x10], ebx
movzx ebx, ax
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
mov dword [eax + 0xd0], edi
mov ebx, dword [eax + 0xd0]
mov dword [eax + 0xd4], edx
mov esi, dword [eax + 0xd4]
mov eax, dword [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x54]
movzx esi, word [eax]
mov eax, esi
jmp 0x1154951
cmp word [ecx + ecx + 0x143a3ca], 0x65
lea esi, [ecx + 0x65]
jne 0x1154907
test dx, dx
jne 0x1154ba0
movzx eax, word [eax + eax + 0x1439680]
cmp ax, 0x4e8
jbe 0x11549b0
movzx eax, ax
cmp byte [eax + 0x1438b37], 0
lea edx, [eax - 0x4e9]
jne 0x1154939
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x50], eax
jae 0x1154b20
sub esp, 4
push ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
lea eax, [esp + 0x60]
call fcn.01150940
add esp, 0x10
cmp ax, 0x246
ja 0x115490f
movzx eax, ax
mov edx, ebp
movzx ecx, word [eax + eax + 0x1439e60]
movzx esi, dx
lea edi, [ecx + esi]
cmp dx, word [edi + edi + 0x143a300]
je 0x1154997
movzx esi, word [esi + esi + 0x1439500]
test si, si
je 0x11548f0
mov edx, esi
movzx esi, dx
lea edi, [ecx + esi]
cmp dx, word [edi + edi + 0x143a300]
jne 0x1154974
movzx eax, word [edi + edi + 0x143b540]
cmp ax, 0x4e8
ja 0x1154919
lea esi, [esi]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, eax
cmp ax, 0x4e5
jbe 0x1154c20
cmp ax, 0x4e7
je 0x1154c58
mov edi, dword [esp]
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
cmp byte [edi], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebp
je 0x1154c68
sub esp, 4
lea eax, [esp + 0x4c]
push eax
push 0x1431f8a
push ebx
call fcn.010b78f0
add esp, 0x10
mov edx, dword [esp + 0x1c]
mov eax, ebx
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], ebx
call fcn.010ae7f0
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x1154b97
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x2c]
cmp edx, ebx
jb 0x1154e03
lea eax, [esp + 0x60]
cmp edx, eax
je 0x1154a52
sub esp, 0xc
push edx
call fcn.0109f3c0
add esp, 0x10
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
cmp byte [ebx + 0x57], 0
mov edx, dword [eax + 4]
je 0x1154e22
mov dword [eax + 0xc], 7
mov eax, 7
test edx, edx
je 0x1154f7b
mov ebx, dword [esp + 0xc]
push dword [ebx + 0xf4]
mov ebx, 1
push edx
push 0x1432696
push eax
call fcn.010d83d0
add esp, 0x10
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
sub esp, 0xc
mov dword [esi + 0xf4], ecx
push dword [esi + 0x110]
call fcn.0109f3c0
mov edx, dword [esi + 0xf8]
add esp, 0x10
test edx, edx
je 0x1154acf
cmp byte [esi + 0xdc], 0
je 0x1154ec9
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x100]
test edx, edx
je 0x1154aea
cmp byte [eax + 0xdc], 1
jbe 0x1154efd
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xec]
test edx, edx
je 0x1154b01
mov eax, dword [esp + 0x28]
call fcn.010a8980
mov eax, dword [esp + 0x28]
mov dword [eax + 0x104], edi
add esp, 0x51c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x50]
mov dword [esp + 8], edx
call fcn.011082a0
mov edx, dword [esp + 8]
test eax, eax
je 0x1154939
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x5c], edx
jae 0x1154b71
mov eax, ebx
jmp 0x1154b54
mov eax, dword [esp + 0x54]
lea ecx, [edx - 0xc]
mov dword [esp + 0x50], ecx
lea ecx, [edx + 4]
movzx edx, word [edx + 2]
call fcn.010ae7f0
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x5c], edx
jb 0x1154b50
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x1154b84
cmp byte [eax + 0x58], 0
jne 0x1154b84
call fcn.010b7980
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x1154a2a
mov edi, dword [esp + 0x10]
jmp 0x1154878
movzx eax, word [esi + esi + 0x143b540]
jmp 0x115490f
mov ebx, dword [esp + 0x28]
mov edx, dword [ebx + 0x120]
test edx, edx
jne 0x1154f15
mov dword [esp + 0x1c], eax
cmp eax, 0xb8
je 0x1154d24
cmp byte [edi], 0
jne 0x1154c7e
cmp dword [esp + 0x20], 1
je 0x1154d30
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1154fac
mov dword [esp + 0x3c], 1
mov ebp, 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 1
jmp 0x11548b4
mov eax, dword [esp + 0x50]
add eax, 0xc
mov dword [esp + 0x50], eax
cmp dword [esp + 0x58], eax
jb 0x1154cc8
lea ecx, [esi + 0x19c]
cmp si, 0x246
mov word [eax + 2], bp
cmova esi, ecx
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov word [eax], si
jmp 0x1154b88
sub dword [esp + 0x50], 0xc
jmp 0x1154b88
sub esp, 8
push 0x1432685
push ebx
call fcn.010b78f0
add esp, 0x10
jmp 0x1154a08
mov edx, esi
cmp eax, 0xa4
je 0x1154d8a
cmp eax, 0xa5
je 0x1154e45
cmp eax, 0xa6
je 0x1154d53
cmp dword [esp + 0x1c], 0xb7
jne 0x1154f2f
lea eax, [edi + esi]
mov dword [esp + 0x20], 0xb7
mov ebp, 0xb7
mov dword [esp + 0x10], eax
jmp 0x11548b4
lea eax, [esp + 0x50]
mov dword [esp], edx
call fcn.011082a0
mov edx, dword [esp]
mov ecx, eax
mov eax, dword [esp + 0x50]
test ecx, ecx
je 0x1154c35
lea edx, [eax - 0xc]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], edx
cmp dword [esp + 0x5c], edx
jae 0x1154b71
mov eax, ebx
jmp 0x1154d02
mov eax, dword [esp + 0x54]
lea ecx, [edx - 0xc]
mov dword [esp + 0x50], ecx
lea ecx, [edx + 4]
movzx edx, word [edx + 2]
call fcn.010ae7f0
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x5c], edx
jb 0x1154cfe
jmp 0x1154b71
lea eax, [edi + esi]
mov dword [esp + 0x10], eax
jmp 0x1154b97
mov dword [esp + 0x3c], 0
xor ebp, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x11548b4
lea eax, [edi + 6]
cmp dword [esp + 0x20], 0x17
mov dword [esp + 0x48], eax
je 0x1154e9f
mov dword [esp + 0x20], 0x3b
mov ebp, 0x3b
mov eax, dword [esp + 0x20]
lea ebx, [edi + esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
jmp 0x11548b4
lea eax, [edi + 6]
mov dword [esp], esi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
call fcn.010a1a10
mov edx, dword [esp]
cmp eax, 0x3b
jne 0x1154d65
lea eax, [esp + 0x48]
mov dword [esp], edx
call fcn.010a1a10
mov edx, dword [esp]
cmp eax, 0x18
jne 0x1154d65
mov dword [esp + 0x20], 0xa4
mov ebp, 0xa4
jmp 0x1154d72
mov eax, dword [esp + 0xc]
mov ecx, edi
mov edi, dword [esp + 0x2c]
add dword [eax + 0x24], 1
mov dword [eax + 0xc], 0x12
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
cmp edx, ebx
jb 0x1154e03
jmp 0x1154a3e
sub ebx, 0xc
cmp edx, ebx
jae 0x1154a3e
movzx eax, word [ebx + 2]
cmp ax, 0xcc
jbe 0x1154df8
movzx edx, ax
mov eax, dword [esp + 0x54]
lea ecx, [ebx + 4]
call fcn.010ae7f0
mov edx, dword [esp + 0x5c]
jmp 0x1154df8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test edx, edx
jne 0x1154a7b
test eax, eax
je 0x1154e3e
cmp eax, 0x65
jne 0x1154f62
xor ebx, ebx
jmp 0x1154a99
lea eax, [edi + 4]
cmp dword [esp + 0x20], 0x17
mov dword [esp + 0x48], eax
jne 0x1154d65
lea eax, [esp + 0x48]
mov dword [esp], esi
call fcn.010a1a10
mov edx, dword [esp]
cmp eax, 0x16
je 0x1154e74
cmp eax, 0x3b
jne 0x1154d65
mov dword [esp + 0x20], 0xa5
mov ebp, 0xa5
jmp 0x1154d72
mov dword [eax + 0x120], 0
jmp 0x115481b
lea eax, [esp + 0x48]
mov dword [esp], esi
call fcn.010a1a10
mov edx, dword [esp]
cmp eax, 0x16
jne 0x1154d65
mov dword [esp + 0x20], 0xa6
mov ebp, 0xa6
jmp 0x1154d72
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x208]
test eax, eax
je 0x1154ee5
mov eax, dword [esp + 0x28]
call fcn.010ad790
jmp 0x1154acf
sub dword [edx + 0x18], 1
je 0x1154ed7
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x100]
test edx, edx
je 0x1154aea
cmp byte [edx + 0xa], 0
jne 0x1154aea
mov eax, dword [esp + 0x28]
call fcn.010ae410
jmp 0x1154aea
mov eax, dword [esp + 0xc]
mov ecx, edi
mov edi, dword [esp + 0x2c]
add dword [eax + 0x24], 1
mov dword [eax + 0xc], 9
jmp 0x1154ddd
mov ecx, edi
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x2c]
sub esp, 4
mov dword [esp + 0x4c], ecx
mov dword [esp + 4], ecx
lea eax, [esp + 0x4c]
push eax
push 0x143266c
push dword [esp + 0x18]
call fcn.010b78f0
add esp, 0x10
mov ecx, dword [esp]
jmp 0x1154ddd
cmp eax, 0x204
je 0x1154fbe
mov edx, 0x142d0a6
cmp eax, 0x64
je 0x1154f86
movzx eax, al
cmp eax, 0x1c
jg 0x1154fb7
mov edx, dword [eax*4 + 0x1438260]
test edx, edx
je 0x1154fb7
sub esp, 4
push edx
push 0x142e6dc
push dword [esp + 0x34]
call fcn.010d6690
mov edx, eax
mov eax, dword [esp + 0x1c]
add esp, 0x10
mov dword [eax + 4], edx
mov eax, dword [eax + 0xc]
jmp 0x1154a7b
mov ecx, edi
mov edi, dword [esp + 0x2c]
jmp 0x1154ddd
mov edx, 0x142d0d3
jmp 0x1154f86
mov edx, 0x142d090
jmp 0x1154f86