Function at 0x48d640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xfc
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.0048e0f0
mov ecx, esi
call fcn.0048a700
mov ecx, esi
call fcn.0048b3b0
mov eax, dword [esi + 0x154]
xor ebp, ebp
mov dword [esi + 0x658], ebp
mov dword [esi + 0x694], ebp
mov dword [esi + 0x6b4], eax
xor ebx, ebx
lea edi, [esi + 0x24]
cmp ebx, dword [esi + 0x6b4]
jge 0x48d69e
mov ecx, dword [edi]
push 1
push ebx
mov dword [ecx + 0x48], 1
mov edx, dword [edi]
mov ecx, dword [edx + 0x18]
call fcn.0047ef20
jmp 0x48d6a3
mov eax, dword [edi]
mov dword [eax + 0x48], ebp
mov ecx, dword [edi]
call fcn.0048e800
inc ebx
add edi, 4
cmp ebx, 4
jl 0x48d67e
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 0x18]
call fcn.0047ed50
mov dx, word [esi + 0x154]
mov word [eax], dx
mov cx, word [esi + 0x158]
mov word [eax + 0x14], cx
mov edx, dword [esi + 0x15c]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 0x160]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x164]
mov dword [eax + 0x10], edx
mov cx, word [esi + 0x168]
cmp word [eax], 2
mov word [eax + 4], cx
mov edx, dword [esi + 0x16c]
mov dword [eax + 0x18], edx
mov ecx, dword [esi + 0x170]
mov dword [eax + 0x1c], ecx
jne 0x48d71a
cmp ecx, ebp
mov ecx, 7
jne 0x48d71f
mov ecx, 5
mov word [eax + 2], cx
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x18]
call fcn.0047edf0
mov ecx, esi
call fcn.0048df90
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x174]
mov dword [esi + 0x678], ecx
mov eax, dword [esi + edx*4 + 0x24]
mov dword [esi + 0x680], eax
mov ecx, dword [0x5a2408]
mov eax, dword [eax + 0x18]
push eax
call fcn.004afd60
mov ecx, dword [esi + 0x10]
push 1
call fcn.0048faf0
mov eax, dword [esi + 0x34]
lea ebx, [esp + 0x2c]
mov dword [esp + 0x18], 4
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov edi, dword [ebx]
cmp edi, ebp
je 0x48d7e2
mov dword [edi + 0x78], ebp
mov dword [edi + 0x7c], ebp
mov dword [edi + 0x90], ebp
mov dword [edi + 0xac], ebp
mov dword [edi + 0x84], ebp
mov dword [edi + 8], 0xffffffff
mov ecx, dword [edi + 0x94]
mov dword [edi + 0x8c], ebp
mov dword [edi + 0xb0], 0x32
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, dword [edi + 0x98]
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 0x14]
mov eax, dword [esp + 0x18]
add ebx, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x48d795
lea eax, [esi + 0x24]
lea ebx, [esi + 0x180]
mov edi, eax
lea eax, [esi + 0x374]
mov dword [esp + 0x24], 0xdd
mov dword [esp + 0x20], 0x24
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], eax
mov ecx, dword [edi]
cmp ecx, ebp
je 0x48d898
call fcn.0048e800
mov eax, dword [edi]
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x74]
mov dword [eax + 0x74], ebp
mov dword [eax + 0x78], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [ebx]
test eax, eax
jle 0x48d896
lea ecx, [ebx + 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x10]
push 0
call fcn.004632b0
mov ecx, dword [esi + 0x10]
mov edi, eax
push edi
call fcn.00463150
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov eax, dword [edx]
push eax
call fcn.004d5e90
mov ecx, dword [esi + 0x38]
push edi
call fcn.00463040
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
mov ecx, dword [ecx]
push edi
call fcn.0048eb30
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx]
inc ebp
add ecx, 4
cmp ebp, eax
mov dword [esp + 0x1c], ecx
jl 0x48d846
xor ebp, ebp
mov edx, dword [esi + 0x34]
mov eax, dword [esp + 0x20]
cmp dword [eax + edx], ebp
je 0x48d9bf
mov eax, dword [ebx + 0x1f0]
mov dword [esp + 0x1c], ebp
test eax, eax
jle 0x48d9bd
test ebp, ebp
je 0x48d926
mov ecx, dword [esi + 0x10]
push 0
call fcn.004632b0
mov ecx, dword [esi + 0x10]
mov edi, eax
push edi
call fcn.00463150
mov ecx, dword [esp + 0x24]
lea edx, [ebp + ecx]
mov ecx, edi
mov eax, dword [esi + edx*4]
push eax
call fcn.004d5e90
mov edx, dword [esp + 0x20]
mov dword [edi + 0x8c], 2
mov dword [0x5a25c0], 1
mov ecx, dword [esi + 0x34]
push 0
push 0
mov ecx, dword [edx + ecx]
push edi
call fcn.00490940
mov dword [0x5a25c0], 0
mov ecx, dword [esi + 0x34]
push edi
call fcn.004630d0
jmp 0x48d9aa
mov eax, dword [esi + 0x34]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax]
mov eax, dword [edx + 0x80]
test eax, eax
jne 0x48d9aa
mov ecx, dword [esi + 0x10]
push 0
call fcn.004632b0
mov ecx, dword [esi + 0x10]
mov ebp, eax
push ebp
call fcn.00463150
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push ecx
mov ecx, ebp
call fcn.004d5e90
mov ecx, dword [esi + 0x34]
push ebp
call fcn.004630d0
mov eax, dword [esi + 0x6b0]
xor edi, edi
test eax, eax
jle 0x48d9a6
mov ebx, 0x24
mov edx, dword [esi + 0x34]
xor eax, eax
push 0
push 0
mov ecx, dword [ebx + edx]
cmp dword [ecx + 0x80], 1
sete al
push eax
push ebp
call fcn.004903f0
mov eax, dword [esi + 0x6b0]
inc edi
add ebx, 4
cmp edi, eax
jl 0x48d977
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebx + 0x1f0]
inc ebp
cmp ebp, eax
mov dword [esp + 0x1c], ebp
jl 0x48d8ba
xor ebp, ebp
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
add eax, 4
add ebx, 0x7c
add edi, 4
add ecx, 0x1f
add edx, 0x7c
cmp eax, 0x34
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
jl 0x48d81d
mov eax, dword [esi + 0x5dc]
test eax, eax
jle 0x48dabd
lea ecx, [esi + 0x5e0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x10]
push 0
call fcn.004632b0
mov ecx, dword [esi + 0x10]
mov edi, eax
push edi
call fcn.00463150
mov edx, dword [esp + 0x18]
mov ecx, edi
mov eax, dword [edx]
push eax
call fcn.004d5e90
push 0x7f6
mov ecx, edi
call fcn.004b5da0
push 0
mov ecx, edi
call fcn.004b5e40
mov edx, dword [edi]
push 0xa
mov ecx, edi
call dword [edx + 0x10]
mov eax, 0x2aaaaaab
mov ebx, dword [edi]
imul ebp
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x690]
mov ecx, edx
shl ecx, 5
sub ecx, edx
add ecx, eax
mov eax, ebp
push ecx
mov ecx, 6
cdq
idiv ecx
mov ecx, edi
mov eax, edx
shl eax, 4
add eax, edx
mov edx, dword [esi + 0x68c]
add eax, edx
push eax
call dword [ebx + 0x28]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x18]
mov ecx, dword [esi + 0x38]
push edi
call fcn.004630d0
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x5dc]
inc ebp
add ecx, 4
cmp ebp, eax
mov dword [esp + 0x18], ecx
jl 0x48da13
mov ecx, esi
call fcn.0048e1c0
mov eax, dword [esi + 0x560]
xor edi, edi
test eax, eax
jle 0x48daf7
lea ebx, [esi + 0x564]
mov ecx, dword [esi + 0x10]
push edi
call fcn.004632b0
mov ecx, dword [ebx]
push ecx
mov ecx, eax
call fcn.004d5e90
mov eax, dword [esi + 0x560]
inc edi
add ebx, 4
cmp edi, eax
jl 0x48dad6
mov ecx, dword [esi + 0x680]
call fcn.0048f970
neg eax
sbb eax, eax
mov ecx, esi
inc eax
mov dword [esi + 0x688], eax
call fcn.0048e350
mov ecx, dword [esi + 0x10]
call fcn.004631c0
mov edx, 0x1c
xor ecx, ecx
sub edx, eax
mov eax, dword [esi + 0x6b8]
imul eax, dword [esi + 0x6b4]
cmp edx, eax
setge cl
mov eax, ecx
test eax, eax
je 0x48db4f
mov ecx, esi
call fcn.0048b800
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov dword [esi + 0x670], 0
mov eax, dword [0x5a26fc]
test eax, eax
je 0x48dd26
mov ebp, 1
mov dword [esi + 0x660], ebp
mov ecx, dword [0x5a26fc]
test ecx, ecx
je 0x48db92
push str.DOMINOES:_ready_for_messages_n
call fcn.004f07d0
mov ecx, dword [0x5a26fc]
add esp, 4
test ecx, ecx
jne 0x48db96
mov eax, ebp
jmp 0x48dc02
mov eax, dword [esi + 0x680]
mov ecx, dword [ecx + 8]
mov bx, word [eax + 0x14]
movsx edi, bx
push edi
call fcn.00489bf0
test eax, eax
mov eax, dword [0x5a26fc]
je 0x48dbc3
mov edx, dword [eax + 8]
mov ecx, dword [edx + edi*4 + 0x254]
test ecx, ecx
je 0x48dbf2
xor ebx, ebx
mov ecx, dword [eax + 8]
movsx edi, bx
push edi
call fcn.00489bf0
test eax, eax
mov eax, dword [0x5a26fc]
je 0x48dbe8
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edi*4 + 0x254]
test edx, edx
je 0x48dbf2
inc ebx
cmp bx, 8
jl 0x48dbc5
or ebx, 0xffffffff
mov edx, dword [eax + 8]
xor ecx, ecx
movsx eax, bx
cmp dword [edx + 0xc], eax
sete cl
mov eax, ecx
test eax, eax
je 0x48de56
mov eax, dword [esi + 0x680]
mov ecx, dword [eax + 0x18]
call fcn.0047e230
test eax, eax
jne 0x48dd15
mov edx, dword [0x5a2408]
mov esi, dword [edx + 0x910]
mov ecx, dword [esi + 0x10]
call fcn.004631c0
mov edx, dword [esi + 0x6b8]
mov ecx, 0x1c
imul edx, dword [esi + 0x6b4]
sub ecx, eax
xor eax, eax
cmp ecx, edx
setge al
test eax, eax
je 0x48dc63
mov eax, dword [0x5a2408]
mov ecx, dword [eax + 0x910]
mov esi, dword [ecx + 0x38]
jmp 0x48dc72
mov edx, dword [0x5a2408]
mov eax, dword [edx + 0x910]
mov esi, dword [eax + 0x10]
mov ecx, esi
call fcn.004631c0
dec eax
push eax
call fcn.004efcc0
add esp, 4
mov ecx, esi
push eax
call fcn.004632b0
mov ecx, eax
call fcn.004d5ea0
mov ecx, dword [0x5a2408]
mov byte [esp + 0x11], al
mov eax, dword [0x5a26fc]
mov byte [esp + 0x10], 0x21
mov esi, dword [ecx + 0x910]
mov byte [esp + 0x12], 0xff
test eax, eax
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
je 0x48dcfe
mov ecx, dword [eax + 8]
lea edx, [esp + 0x3c]
push edx
call fcn.00487280
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x49], eax
mov eax, dword [0x5a26fc]
mov dword [esp + 0x3c], ecx
mov cx, word [esp + 0x14]
lea edx, [esp + 0x3c]
mov word [esp + 0x4d], cx
mov ecx, dword [eax + 8]
push edx
call fcn.00488690
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00493670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov dword [esi + 0x674], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret
mov eax, dword [esi + 0x680]
mov ecx, dword [eax + 0x18]
call fcn.0047e230
test eax, eax
jne 0x48de26
mov edx, dword [0x5a2408]
mov edi, dword [edx + 0x910]
mov ecx, dword [edi + 0x10]
call fcn.004631c0
mov edx, dword [edi + 0x6b8]
mov ecx, 0x1c
imul edx, dword [edi + 0x6b4]
sub ecx, eax
xor eax, eax
cmp ecx, edx
setge al
test eax, eax
je 0x48dd7f
mov eax, dword [0x5a2408]
mov ecx, dword [eax + 0x910]
mov edi, dword [ecx + 0x38]
jmp 0x48dd8e
mov edx, dword [0x5a2408]
mov eax, dword [edx + 0x910]
mov edi, dword [eax + 0x10]
mov ecx, edi
call fcn.004631c0
dec eax
push eax
call fcn.004efcc0
add esp, 4
mov ecx, edi
push eax
call fcn.004632b0
mov ecx, eax
call fcn.004d5ea0
mov ecx, dword [0x5a2408]
mov byte [esp + 0x11], al
mov eax, dword [0x5a26fc]
mov byte [esp + 0x10], 0x21
mov edi, dword [ecx + 0x910]
mov byte [esp + 0x12], 0xff
test eax, eax
mov byte [esp + 0x13], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
je 0x48de1a
mov ecx, dword [eax + 8]
lea edx, [esp + 0x3c]
push edx
call fcn.00487280
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x49], eax
mov eax, dword [0x5a26fc]
mov dword [esp + 0x3c], ecx
mov cx, word [esp + 0x14]
lea edx, [esp + 0x3c]
mov word [esp + 0x4d], cx
mov ecx, dword [eax + 8]
push edx
call fcn.00488690
lea ecx, [esp + 0x10]
push ecx
mov ecx, edi
call fcn.00493670
mov edi, dword [esi + 0x680]
mov ecx, dword [edi + 0x18]
call fcn.0047e230
test eax, eax
je 0x48de56
mov eax, dword [0x5a26fc]
test eax, eax
je 0x48de4c
mov edx, dword [eax + 8]
mov eax, dword [edi + 0x14]
cmp eax, dword [edx + 0xc]
jne 0x48de56
mov dword [esi + 0x674], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret