Function at 0x4dd70
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x20]
cmp byte [ecx + 0x31], 6
push ebp
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x40]
push esi
push edi
mov dword [esp + 0x30], eax
jne 0x4dda0
cmp byte [ebx + 0x28], 0xcc
mov dword [esp + 0x24], 1
je 0x4dda8
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x38]
mov ebp, dword [edi + 0x38]
mov esi, dword [edi + 0x34]
lea edx, [ebp + eax*4 + 0x56]
cmp edx, dword [edi + 0x3c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], ebp
jbe 0x4dde3
lea ecx, [eax*4 + 0x56]
mov eax, edi
call fcn.00032180
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x14], ebp
js 0x4e07e
cmp dword [esp + 0x24], 0
je 0x4de14
mov dword [esi + ebp*4], 0x422fc
add ebp, 1
mov dword [esi + ebp*4], 3
add ebp, 1
mov dword [esi + ebp*4], 0x46300
add ebp, 1
mov dword [esi + ebp*4], 0xa
add ebp, 1
jmp 0x4de29
test byte [ebx + 0x29], 4
je 0x4de2d
lea eax, [ebx + 0x2c]
push eax
mov eax, ebp
mov edx, edi
call fcn.0004d760
mov ebp, eax
mov dword [esp + 0x14], ebp
mov ecx, dword [ebx + 0x24]
mov edx, dword [edi + 0xd50]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
cmp edx, dword [ecx + 0x10]
mov eax, ebp
jne 0x4de73
mov edx, dword [edi + 0xd54]
cmp edx, dword [ecx + 0x14]
jne 0x4de73
mov ebp, dword [edi + 0xd58]
mov edx, dword [esp + 0x1c]
cmp ebp, dword [edx + 0x10]
jne 0x4de6d
mov ebp, dword [edi + 0xd5c]
cmp ebp, dword [edx + 0x14]
je 0x4df64
mov ebp, dword [esp + 0x14]
jmp 0x4de77
mov edx, dword [esp + 0x1c]
movzx eax, byte [ecx + 0x33]
and al, 2
neg al
sbb eax, eax
neg eax
add eax, 1
imul eax, dword [ecx + 0xc]
mov dword [esp + 0x14], eax
movzx eax, byte [edx + 0x33]
and al, 2
neg al
sbb eax, eax
neg eax
add eax, 1
imul eax, dword [edx + 0xc]
mov dword [esi + ebp*4], 0x46184
mov edx, dword [edx + 0x14]
mov dword [esi + ebp*4 + 4], edx
mov dword [esp + 0x2c], eax
lea eax, [ebp + 1]
mov dword [esi + eax*4 + 4], 0x46188
mov edx, dword [ecx + 0x14]
mov ebp, dword [esp + 0x14]
add eax, 1
mov dword [esi + eax*4 + 4], edx
mov edx, dword [esp + 0x1c]
add eax, 1
mov dword [esi + eax*4 + 4], 0xc6304
add eax, 1
add eax, 1
shl ebp, 0x10
or ebp, dword [esp + 0x2c]
add eax, 1
mov dword [esi + eax*4 - 4], ebp
mov edx, dword [edx + 0x10]
mov dword [esi + eax*4], edx
mov edx, dword [ecx + 0x10]
mov dword [esi + eax*4 + 4], edx
mov edx, dword [esp + 0x1c]
add eax, 1
mov dword [esi + eax*4 + 4], 0xc6304
add eax, 1
mov dword [esi + eax*4 + 4], ebp
mov ebp, dword [edx + 0x10]
add eax, 1
mov dword [esi + eax*4 + 4], ebp
mov ebp, dword [ecx + 0x10]
add eax, 1
mov dword [esi + eax*4 + 4], ebp
mov ebp, dword [ecx + 0x10]
add eax, 1
mov dword [edi + 0xd50], ebp
mov ecx, dword [ecx + 0x14]
mov dword [edi + 0xd54], ecx
mov ecx, dword [edx + 0x10]
mov dword [edi + 0xd58], ecx
mov edx, dword [edx + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0xd5c], edx
mov edx, dword [esp + 0x2c]
add eax, 1
mov dword [edi + 0xd60], ecx
mov dword [edi + 0xd64], edx
xor ecx, ecx
cmp dword [edi + 0xd74], ecx
je 0x4df8c
mov dword [edi + 0xd74], ecx
mov dword [esi + eax*4], 0x8c300
mov dword [esi + eax*4 + 4], ecx
mov ecx, dword [edi + 0xd24]
mov dword [esi + eax*4 + 8], ecx
add eax, 3
mov ecx, dword [ebx + 0x28]
and ecx, 0xff
mov dword [edi + 0xd70], ecx
mov dword [esi + eax*4], 0x48300
mov dword [esi + eax*4 + 4], ecx
add eax, 2
jmp 0x4dfaf
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov ebp, dword [edx + 8]
mov edi, dword [edx + 4]
mov edx, dword [edx + 0xc]
sub ebp, ecx
mov dword [esp + 0x2c], ecx
sub ecx, dword [ebx]
add dword [esp + 0x10], 0x10
add ecx, dword [ebx + 0x10]
sub edx, edi
mov dword [esp + 0x1c], ecx
mov ecx, edi
sub ecx, dword [ebx + 4]
add eax, 1
add ecx, dword [ebx + 0x14]
mov dword [esi + eax*4 - 4], 0xc2300
mov ebx, edx
shl ecx, 0x10
imul ebx, ebp
or ecx, dword [esp + 0x1c]
add dword [esp + 0x28], ebx
mov dword [esi + eax*4], ecx
shl edi, 0x10
or edi, dword [esp + 0x2c]
add eax, 1
mov dword [esi + eax*4], edi
shl edx, 0x10
add eax, 1
or edx, ebp
mov dword [esi + eax*4], edx
add eax, 1
sub dword [esp + 0x30], 1
mov dword [esp + 0x14], ebp
jne 0x4dfab
cmp dword [esp + 0x24], 0
je 0x4e04f
mov dword [esi + eax*4], 0x422fc
add eax, 1
mov dword [esi + eax*4], 1
add eax, 1
mov dword [esi + eax*4], 0x46300
add eax, 1
mov dword [esi + eax*4], 6
add eax, 1
mov esi, dword [esp + 0x38]
call fcn.000320b0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
shr ecx, 8
and ecx, 7
mov edx, dword [ecx*4 + 0x3fa078]
imul edx, dword [esp + 0x28]
add dword [esi + 0xdf0], edx
js 0x4e07e
call fcn.0004cdc0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x24
ret 8