Function at 0x427690
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4a424b
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x4d9d94]
xor eax, esp
mov dword [esp + 0x25c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d9d94]
xor eax, esp
push eax
lea eax, [esp + 0x274]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x284]
mov eax, dword [ebp + 0x1bbfe4]
lea eax, [eax + eax*2]
shl eax, 4
cmp dword [eax + ebp + 0x1bbf34], 0
lea edi, [eax + ebp + 0x1bbf20]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
je 0x4279db
cmp dword [ebp + 0x1bbdc4], 0
je 0x4277e1
cmp dword [ebp + 0x1bbe88], 0
jle 0x4277e1
mov eax, dword [ebp + 0x1bbe8c]
lea ecx, [eax + eax*4]
mov edx, dword [ebp + ecx*8 + 0x1bbdf4]
fild dword [ebp + ecx*8 + 0x1bbdf4]
test edx, edx
lea esi, [ebp + ecx*8 + 0x1bbde8]
jge 0x42773d
fadd dword [0x4b0088]
fdiv qword [0x4b0080]
fadd qword [esi]
fcomp qword [edi]
fnstsw ax
test ah, 0x41
jp 0x4277e1
call fcn.00403e30
mov ecx, dword [edi + 0x14]
mov edx, dword [eax + 0x4c]
push ecx
call edx
mov edi, dword [edi + 0x14]
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x2c], ecx
movzx ecx, word [eax]
mov dword [esp + 0x30], edx
movzx edx, word [eax + 4]
movzx eax, word [eax + 2]
xor edi, edi
add esp, 4
cmp dword [esi + 0x14], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
jbe 0x4277c8
mov edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x14]
mov ebx, dword [esi + 0x18]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x28]
push edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + edi*4]
call fcn.00422da0
add edi, 1
add esp, 4
cmp edi, dword [esi + 0x14]
jb 0x4277a0
call fcn.00403e30
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x14]
mov eax, dword [eax + 0x5c]
push edx
call eax
mov edi, dword [esp + 0x18]
add esp, 4
mov eax, ebp
call fcn.00424530
call fcn.00476d80
cmp dword [0x4dcd3c], 0
mov ebx, eax
je 0x427969
mov eax, 0x88888889
imul ebx
add edx, ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
add edx, edx
add edx, edx
mov edi, ebx
sub edi, edx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
shl eax, 4
sub eax, esi
neg eax
lea ebp, [ecx + eax*4]
call fcn.0044348e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x427857
push 0x80004005
call fcn.00403c00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push edi
push ebp
push esi
lea ecx, [esp + 0x24]
push str._02d:_02d:_02d
push ecx
mov dword [esp + 0x290], 0
call fcn.00413440
push 0x204
lea edx, [esp + 0x84]
push 0
push edx
call fcn.004720a0
mov esi, dword [0x4dcd3c]
mov eax, dword [esi + 0x40]
mov edi, dword [eax - 0xc]
add esi, 0x40
sub eax, 0x10
mov ecx, 1
mov dword [esp + 0x88], ecx
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
add esp, 0x20
or eax, ecx
mov dword [esp + 0x26c], ebx
jge 0x4278d4
push edi
mov ecx, esi
call fcn.00405930
mov esi, dword [esi]
push edi
lea ecx, [esp + 0x16f]
push esi
push ecx
call fcn.00472a90
mov ebp, dword [esp + 0x24]
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ecx, 1
sub ecx, dword [ebp - 4]
sub eax, esi
add esp, 0xc
or eax, ecx
jge 0x42790e
push esi
lea ecx, [esp + 0x1c]
call fcn.00405930
mov ebp, dword [esp + 0x18]
push esi
lea edx, [esp + 0x70]
push ebp
push edx
call fcn.00472a90
mov eax, dword [0x4dcd3c]
sub esp, 0x1fc
mov edi, esp
mov ecx, 0x82
lea esi, [esp + 0x270]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x28]
call ecx
lea eax, [ebp - 0x10]
mov dword [esp + 0x27c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427961
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x42c]
mov edx, dword [eax + 0x428]
push 0
push 0xf4240
push ecx
push edx
call fcn.00473d30
mov ecx, eax
mov eax, ebx
mov esi, edx
cdq
cmp eax, ecx
jne 0x4279a0
cmp edx, esi
jne 0x4279a0
push 0x4b006c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 0x1bc3fc]
mov ecx, dword [ebp + 0x1bc3f8]
mov edx, dword [ebp + 0x1bc404]
push eax
mov eax, dword [ebp + 0x1bc400]
push ecx
push edx
push eax
mov ecx, edi
lea ebx, [esp + 0x30]
call fcn.00423b20
call fcn.00403e30
mov edx, dword [edi + 0x14]
mov eax, dword [eax + 0x40]
mov ecx, ebx
push ecx
push edx
call eax
add esp, 0x18
mov ecx, dword [esp + 0x274]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x25c]
xor ecx, esp
call fcn.00471784
add esp, 0x26c
ret