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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x71b33e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x240
mov eax, dword [ebp + 0x10]
push ebx
mov dword [esp + 8], ecx
xor ebx, ebx
mov dword [eax], ebx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x9c8]
push esi
lea esi, [eax + 0x124]
movzx eax, byte [ecx + 0x96c]
push edi
push eax
mov dword [esp + 0x44], esi
call fcn.004d2b50
mov dword [esp + 0x38], eax
movzx eax, byte [eax + 0x3a]
cmp eax, ebx
mov dword [esp + 0x58], eax
je 0x4f4045
cmp dword [ebp + 0x18], ebx
je 0x4f4054
mov edx, dword [ebp + 0x2c]
xor ecx, ecx
cmp edx, ebx
setne cl
inc ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0xc]
or edi, 0xffffffff
cmp ecx, ebx
je 0x4f409c
mov edx, dword [ecx]
call dword [edx + 0x30]
test eax, eax
je 0x4f409c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [eax + 0xa74]
movzx ecx, word [eax + 0xdc]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
call dword [edx + 0x30]
mov ecx, dword [eax + 0xa74]
call fcn.005a5110
movzx eax, al
mov dword [esp + 0x34], eax
jmp 0x4f40a4
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], edi
mov eax, 0x5f8
mov ecx, 0x7f000000
mov edi, edi
mov edx, dword [esp + 0x10]
mov dword [eax + edx - 0x90], edi
mov edx, dword [esp + 0x10]
mov dword [eax + edx], edi
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 0x90], edi
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 0x120], edi
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 0x1b0], ecx
mov edx, dword [esp + 0x10]
mov dword [eax + edx + 0x240], ecx
add eax, 4
cmp eax, 0x688
jl 0x4f40b0
movzx eax, byte [ebp + 8]
dec eax
cmp eax, 4
ja case.default.0x4f4106
jmp dword [eax*4 + 0x4f5f54]
mov eax, dword [esi + 4]
cmp eax, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x28], ebx
jle 0x4f43ac
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xa74]
movzx ecx, word [edx + 0x130]
cmp ecx, eax
mov dword [esp + 0x20], ecx
jge 0x4f43ac
jmp 0x4f4147
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi]
mov esi, dword [eax + ecx*4]
movzx ecx, word [esi + 8]
cmp ecx, dword [0x7466a8]
jg 0x4f43ac
push 1
mov ecx, esi
mov dword [esp + 0x20], 0
call fcn.00503690
push 2
mov ecx, esi
mov edi, eax
call fcn.00503690
push 4
mov ecx, esi
mov ebx, eax
call fcn.00503690
mov edx, dword [0x7468c4]
xor ecx, ecx
cmp edi, edx
mov edx, dword [esp + 0x58]
je 0x4f4197
cmp edi, edx
jne 0x4f419c
mov ecx, 1
cmp edx, 6
jne 0x4f41b1
cmp edi, dword [0x7468c8]
je 0x4f41c0
mov edx, dword [0x7468d0]
jmp 0x4f41bc
cmp edx, 8
jne 0x4f41c5
mov edx, dword [0x7468dc]
cmp edi, edx
jne 0x4f41c5
mov ecx, 1
mov edx, dword [0x7a3a28]
movzx edx, byte [edx + 0xaa]
cmp ebx, edx
je 0x4f41e0
cmp ebx, dword [esp + 0x48]
jne 0x4f4394
test eax, eax
je 0x4f41ee
cmp eax, dword [esp + 0x34]
jne 0x4f4394
cmp ecx, 1
jne 0x4f4394
movzx eax, word [esi + 8]
cmp eax, dword [0x7466a4]
jne 0x4f42cf
cmp edi, dword [0x7468c4]
je 0x4f4221
push 0
mov ecx, esi
call fcn.00503690
add dword [esp + 0x28], eax
jmp 0x4f4394
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f4272
xor ebx, ebx
mov edi, 0x568
mov edi, edi
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + eax + 0x120]
cmp ecx, dword [esi + 0x1c]
jne 0x4f425a
push 0
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov edx, dword [esp + 0x10]
cmp dword [edi + edx], eax
jl 0x4f4293
add edi, 4
inc ebx
cmp edi, 0x5f8
jl 0x4f4230
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f4394
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x568]
mov edi, edi
cmp dword [eax], 0xffffffff
je 0x4f42ac
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f4280
jmp 0x4f4394
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + ebx*4 + 0x568], eax
jmp 0x4f4394
mov edx, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x688], edx
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f4394
cmp eax, dword [0x7466a8]
jne 0x4f4394
cmp edi, dword [0x7468c4]
je 0x4f42f5
push 0
mov ecx, esi
call fcn.00503690
add dword [esp + 0x44], eax
jmp 0x4f4394
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f4340
xor ebx, ebx
mov edi, 0x5f8
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x120]
cmp eax, dword [esi + 0x1c]
jne 0x4f432c
push 0
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f4360
add edi, 4
inc ebx
cmp edi, 0x688
jl 0x4f4302
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f4394
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x5f8]
lea esp, [esp]
cmp dword [eax], 0xffffffff
je 0x4f4376
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f4350
jmp 0x4f4394
push 0
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov dword [edx + ebx*4 + 0x5f8], eax
jmp 0x4f4394
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x718], eax
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x5f8], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 4]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4f413f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
add ecx, 0x5f8
mov edi, 4
mov edx, dword [ecx - 0x90]
cmp edx, 0xffffffff
je 0x4f43d0
add eax, edx
mov edx, dword [ecx]
cmp edx, 0xffffffff
je 0x4f43d9
add esi, edx
mov edx, dword [ecx - 0x8c]
cmp edx, 0xffffffff
je 0x4f43e6
add eax, edx
mov edx, dword [ecx + 4]
cmp edx, 0xffffffff
je 0x4f43f0
add esi, edx
mov edx, dword [ecx - 0x88]
cmp edx, 0xffffffff
je 0x4f43fd
add eax, edx
mov edx, dword [ecx + 8]
cmp edx, 0xffffffff
je 0x4f4407
add esi, edx
mov edx, dword [ecx - 0x84]
cmp edx, 0xffffffff
je 0x4f4414
add eax, edx
mov edx, dword [ecx + 0xc]
cmp edx, 0xffffffff
je 0x4f441e
add esi, edx
mov edx, dword [ecx - 0x80]
cmp edx, 0xffffffff
je 0x4f4428
add eax, edx
mov edx, dword [ecx + 0x10]
cmp edx, 0xffffffff
je 0x4f4432
add esi, edx
mov edx, dword [ecx - 0x7c]
cmp edx, 0xffffffff
je 0x4f443c
add eax, edx
mov edx, dword [ecx + 0x14]
cmp edx, 0xffffffff
je 0x4f4446
add esi, edx
mov edx, dword [ecx - 0x78]
cmp edx, 0xffffffff
je 0x4f4450
add eax, edx
mov edx, dword [ecx + 0x18]
cmp edx, 0xffffffff
je 0x4f445a
add esi, edx
mov edx, dword [ecx - 0x74]
cmp edx, 0xffffffff
je 0x4f4464
add eax, edx
mov edx, dword [ecx + 0x1c]
cmp edx, 0xffffffff
je 0x4f446e
add esi, edx
mov edx, dword [ecx - 0x70]
cmp edx, 0xffffffff
je 0x4f4478
add eax, edx
mov edx, dword [ecx + 0x20]
cmp edx, 0xffffffff
je 0x4f4482
add esi, edx
add ecx, 0x24
dec edi
jne 0x4f43c3
jmp 0x4f560c
xor eax, eax
mov ecx, 0xe
lea edi, [esp + 0xf0]
mov dword [esp + 0xec], ebx
rep stosd dword es:[edi], eax
mov ecx, 0xe
lea edi, [esp + 0xb4]
mov dword [esp + 0xb0], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x23
lea edi, [esp + 0x12c]
mov dword [esp + 0x128], ebx
rep stosd dword es:[edi], eax
mov ecx, 0x23
lea edi, [esp + 0x1bc]
mov dword [esp + 0x1b8], ebx
rep stosd dword es:[edi], eax
mov eax, dword [0x7a3a28]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 0xb0]
mov eax, dword [esi + 4]
cmp eax, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x44], ecx
jle 0x4f4b69
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0xa74]
movzx ecx, word [ecx + 0x136]
cmp ecx, eax
mov dword [esp + 0x20], ecx
jge 0x4f4b69
lea esp, [esp]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov esi, dword [ecx + edx*4]
movzx eax, word [esi + 8]
cmp eax, dword [0x7466b4]
jg 0x4f4b69
xor edi, edi
push 1
mov ecx, esi
mov dword [esp + 0x20], edi
call fcn.00503690
mov ebx, eax
push 2
mov ecx, esi
mov dword [esp + 0x2c], ebx
call fcn.00503690
push 4
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.00503690
push 5
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00503690
cmp eax, dword [0x7468e0]
mov dword [esp + 0x30], eax
jne 0x4f45a6
mov edi, 1
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x30], ecx
jne 0x4f45b5
mov edi, 1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4f45d2
mov edx, dword [ecx]
call dword [edx + 0x38]
test eax, eax
je 0x4f45d2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x18]
je 0x4f45d2
xor edi, edi
mov eax, dword [esp + 0x58]
cmp eax, 6
mov ecx, dword [esp + 0x30]
jne 0x4f45ee
cmp ecx, dword [0x7468e4]
je 0x4f45fc
mov eax, dword [0x7468ec]
jmp 0x4f45f8
cmp eax, 8
jne 0x4f4601
mov eax, dword [0x7468f8]
cmp ecx, eax
jne 0x4f4601
mov edi, 1
mov edx, dword [0x7a3a28]
movzx edx, byte [edx + 0xaa]
mov eax, dword [esp + 0x50]
cmp eax, edx
mov edx, dword [ebp + 0x14]
je 0x4f461f
cmp eax, dword [esp + 0x48]
jne 0x4f4643
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4f462d
cmp eax, dword [esp + 0x34]
jne 0x4f4643
cmp edi, 1
jne 0x4f4643
test edx, edx
jne 0x4f463b
test bl, 7
jne 0x4f4655
test ebx, 0xfffffff8
jne 0x4f4655
cmp edx, 1
jne 0x4f4b51
test bl, 7
jne 0x4f4b51
fldlg2
fild dword [esp + 0x28]
fyl2x
fmul dword [0x745ff8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov edx, 0x8327e0
frndint
fistp dword [edx]
mov eax, dword [0x8327e0]
mov edi, dword [0x7466b0]
mov dword [esp + 0x30], eax
mov ax, word [esi + 8]
movzx edx, ax
cmp edx, edi
jne 0x4f4986
cmp ecx, dword [0x7468e0]
je 0x4f483c
push str.Rank
lea ecx, [esp + 0x70]
call fcn.005e5a90
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x70]
push ecx
push 0
mov ecx, esi
mov dword [esp + 0x260], 0
call fcn.00503690
mov ebx, dword [esp + 0x4c]
push eax
mov ecx, ebx
call fcn.00413660
or edi, 0xffffffff
lea ecx, [esp + 0x6c]
mov dword [esp + 0x254], edi
call fcn.005e5c20
push 0
mov ecx, esi
call fcn.00503690
xor esi, esi
cmp eax, 5
mov dword [esp + 0x2c], eax
jle 0x4f481f
push str.NumDice
lea ecx, [esp + 0x68]
call fcn.005e5a90
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x68]
push eax
push ecx
mov ecx, ebx
mov dword [esp + 0x260], 1
call fcn.00413660
lea ecx, [esp + 0x64]
mov dword [esp + 0x254], edi
call fcn.005e5c20
push 0x747034
lea ecx, [esp + 0x78]
call fcn.005e5a90
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x78]
push eax
push ecx
mov ecx, ebx
mov dword [esp + 0x260], 2
call fcn.00413660
lea ecx, [esp + 0x74]
mov dword [esp + 0x254], edi
call fcn.005e5c20
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4f47ae
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
imul esi, eax
mov edx, dword [ecx]
sub eax, esi
add edx, eax
mov eax, dword [esp + 0x30]
lea eax, [esp + eax*4 + 0xec]
mov dword [ecx], edx
add dword [eax], esi
jmp 0x4f4b51
mov edx, dword [esp + 0x38]
mov bl, byte [edx + 0x5c]
xor eax, eax
cmp bl, 2
sete al
test eax, eax
je 0x4f4818
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [eax + 0xa74]
push edx
call fcn.005a52b0
test eax, eax
jle 0x4f4821
mov edi, eax
lea ebx, [ebx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx edx, ax
add esi, edx
dec edi
jne 0x4f47e0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax*4 + 0xec]
lea eax, [esp + eax*4 + 0xec]
add ecx, esi
mov dword [eax], ecx
jmp 0x4f4b51
mov eax, 1
jmp 0x4f47d8
mov esi, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax*4 + 0xec]
lea eax, [esp + eax*4 + 0xec]
add ecx, esi
mov dword [eax], ecx
jmp 0x4f4b51
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f491e
mov eax, 0x688
lea ecx, [esp + 0x128]
sub eax, ecx
mov ebx, 0x568
lea edx, [esp + 0x128]
xor edi, edi
mov dword [esp + 0x24], eax
sub ebx, edx
jmp 0x4f4870
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
lea edx, [ecx + edi*4]
lea ecx, [esp + edx + 0x128]
mov edx, dword [esp + 0x10]
cmp dword [ecx + edx], eax
jne 0x4f4904
mov eax, dword [esp + 0x28]
cmp dword [esp + edi*4 + 0x128], eax
jne 0x4f4904
push str.Rank
lea ecx, [esp + 0x90]
mov dword [esp + 0x20], 1
call fcn.005e5a90
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x90]
push edx
mov edx, dword [esp + 0x18]
lea eax, [ebx + edi*4]
lea ecx, [esp + eax + 0x130]
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0x4c]
push eax
mov dword [esp + 0x260], 3
call fcn.00413660
lea ecx, [esp + 0x8c]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x2c]
jg 0x4f4943
inc edi
cmp edi, 0x24
jl 0x4f4870
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f4b51
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x568]
lea ebx, [ebx]
cmp dword [eax], 0xffffffff
je 0x4f495c
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f4930
jmp 0x4f4b51
push 0
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov dword [edx + edi*4 + 0x568], eax
jmp 0x4f4b51
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x688], eax
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
mov dword [esp + edi*4 + 0x128], ebx
jmp 0x4f4b51
movzx edx, ax
cmp edx, dword [0x7466b4]
jne 0x4f4b51
cmp ecx, dword [0x7468c4]
je 0x4f4a21
push str.Rank
lea ecx, [esp + 0xa0]
call fcn.005e5a90
mov edi, dword [esp + 0x30]
mov edx, dword [esp + edi*4 + 0xb0]
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0xa0]
lea edi, [esp + edi*4 + 0xb4]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov dword [esp + 0x260], 4
call fcn.00413660
lea ecx, [esp + 0x9c]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0xac]
jle 0x4f4b51
push 0
mov ecx, esi
call fcn.00503690
mov dword [edi], eax
jmp 0x4f4b51
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f4afa
mov eax, 0x718
lea ecx, [esp + 0x1b8]
sub eax, ecx
mov ebx, 0x5f8
lea edx, [esp + 0x1b8]
xor edi, edi
mov dword [esp + 0x24], eax
sub ebx, edx
lea ecx, [ecx]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
lea edx, [ecx + edi*4]
lea ecx, [esp + edx + 0x1b8]
mov edx, dword [esp + 0x10]
cmp dword [ecx + edx], eax
jne 0x4f4ae4
mov eax, dword [esp + 0x28]
cmp dword [esp + edi*4 + 0x1b8], eax
jne 0x4f4ae4
push str.Rank
lea ecx, [esp + 0x98]
mov dword [esp + 0x20], 1
call fcn.005e5a90
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x98]
push edx
mov edx, dword [esp + 0x18]
lea eax, [ebx + edi*4]
lea ecx, [esp + eax + 0x1c0]
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0x4c]
push eax
mov dword [esp + 0x260], 5
call fcn.00413660
lea ecx, [esp + 0x94]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x2c]
jg 0x4f4b16
inc edi
cmp edi, 0x24
jl 0x4f4a50
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f4b51
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x5f8]
cmp dword [eax], 0xffffffff
je 0x4f4b2c
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f4b06
jmp 0x4f4b51
push 0
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov dword [edx + edi*4 + 0x5f8], eax
jmp 0x4f4b51
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x718], eax
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x5f8], eax
mov dword [esp + edi*4 + 0x1b8], ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 4]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4f4540
mov edi, dword [esp + 0x34]
xor ebx, ebx
nop
mov esi, dword [esp + ebx*4 + 0xec]
test esi, esi
jle 0x4f4bd4
mov ecx, ebx
mov edi, 1
shl edi, cl
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4f4bbc
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx]
push 1
push edx
mov edx, dword [esp + 0x18]
push edi
push esi
push edx
call dword [eax + 0xac]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push 0
push 1
push esi
push edi
push eax
mov eax, dword [esp + 0x24]
push eax
call dword [edx + 0xa8]
mov esi, eax
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4f4bd0
mov ecx, dword [esp + 0x38]
push 1
push esi
push edi
call fcn.004d20d0
add dword [esp + 0x4c], esi
mov eax, dword [esp + ebx*4 + 0xb0]
xor esi, esi
test eax, eax
jle 0x4f4bf4
mov esi, eax
push 1
mov ecx, esi
neg ecx
push ecx
mov ecx, dword [esp + 0x40]
push edi
call fcn.004d20d0
mov edx, dword [esp + 0x54]
add edx, esi
inc ebx
cmp ebx, 0xf
mov dword [esp + 0x54], edx
jl 0x4f4b70
mov dword [esp + 0x34], edi
mov edi, 0x568
lea eax, [esp + 0x128]
sub eax, edi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x1b8]
sub eax, edi
mov dword [esp + 0x28], eax
jmp 0x4f4c30
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx]
xor esi, esi
cmp eax, 0xffffffff
je 0x4f4eda
mov eax, dword [esp + 0x48]
fldlg2
mov ecx, dword [eax + edi]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fyl2x
fmul dword [0x745ff8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov edx, 0x8327e0
frndint
fistp dword [edx]
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + ecx]
cmp eax, 5
mov edx, dword [0x8327e0]
mov dword [esp + 0x30], edx
jle 0x4f4e2a
push str.NumDice
lea ecx, [esp + 0x60]
call fcn.005e5a90
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + edx]
lea ecx, [esp + 0x60]
push ecx
push eax
mov ecx, ebx
mov dword [esp + 0x260], 6
call fcn.00413660
lea ecx, [esp + 0x5c]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
push 0x747034
lea ecx, [esp + 0x88]
call fcn.005e5a90
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edi + eax]
lea edx, [esp + 0x88]
push edx
push ecx
mov ecx, ebx
mov dword [esp + 0x260], 7
call fcn.00413660
lea ecx, [esp + 0x84]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
cmp dword [ebp + 0x18], 1
jne 0x4f4d30
mov esi, dword [esp + 0x18]
imul esi, dword [esp + 0x14]
jmp 0x4f4d9f
mov edx, dword [esp + 0x38]
cmp byte [edx + 0x5c], 2
jne 0x4f4d87
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [eax + 0xa74]
push edx
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x4f4d9f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx edx, ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa74]
add esi, edx
mov edx, dword [ebp + 0x2c]
push edx
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x4f4d53
jmp 0x4f4d9f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx esi, ax
cmp dword [ebp + 0x14], 1
jne 0x4f4ed6
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4f4eda
cmp eax, 1
je 0x4f4eda
cmp eax, 2
je 0x4f4eda
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4f4e03
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x34]
mov edx, dword [ecx]
push 1
push eax
mov eax, dword [esp + 0x18]
push ebx
push esi
push eax
call dword [edx + 0xac]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push 0
push 1
push esi
push ebx
push eax
mov eax, dword [esp + 0x24]
push eax
call dword [edx + 0xa8]
mov esi, eax
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4f4ed6
mov ecx, dword [esp + 0x48]
xor edx, edx
mov dx, word [ecx + edi]
mov ecx, dword [esp + 0x38]
push 1
push esi
push edx
call fcn.004d20d0
jmp 0x4f4eda
mov edx, dword [esp + 0x38]
cmp byte [edx + 0x5c], 2
jne 0x4f4e71
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ecx + 0xa74]
push eax
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x4f4e73
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov edx, dword [edi + eax]
mov ecx, dword [ebp + 0x2c]
mov eax, dword [eax + 0xa74]
push ecx
add esi, edx
mov ecx, eax
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x4f4e50
jmp 0x4f4e73
mov esi, eax
cmp dword [ebp + 0x14], 1
jne 0x4f4ed6
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4f4eda
cmp eax, 1
je 0x4f4eda
cmp eax, 2
je 0x4f4eda
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4f4ec7
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x34]
mov edx, dword [ecx]
push 1
push eax
mov eax, dword [esp + 0x18]
push ebx
push esi
push eax
call dword [edx + 0xac]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push 0
push 1
push esi
push ebx
push eax
mov eax, dword [esp + 0x24]
push eax
call dword [edx + 0xa8]
mov esi, eax
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4f4e0e
add esi, esi
jmp 0x4f4eda
add dword [esp + 0x4c], esi
mov eax, dword [esp + 0x10]
cmp dword [edi + eax + 0x90], 0xffffffff
je 0x4f50e0
mov ecx, dword [esp + 0x28]
fldlg2
mov edx, dword [ecx + edi]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fyl2x
fmul dword [0x745ff8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov edx, 0x8327e0
frndint
fistp dword [edx]
mov eax, dword [0x8327e0]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [edi + ecx + 0x90]
cmp eax, 5
jle 0x4f5063
push str.NumDice
lea ecx, [esp + 0xa8]
call fcn.005e5a90
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi + eax + 0x90]
lea edx, [esp + 0xa8]
push edx
push ecx
mov ecx, ebx
mov dword [esp + 0x260], 8
call fcn.00413660
lea ecx, [esp + 0xa4]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
push 0x747034
lea ecx, [esp + 0x80]
call fcn.005e5a90
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
mov edx, dword [edi + ecx + 0x90]
lea eax, [esp + 0x80]
push eax
push edx
mov ecx, ebx
mov dword [esp + 0x260], 9
call fcn.00413660
lea ecx, [esp + 0x7c]
mov dword [esp + 0x254], 0xffffffff
call fcn.005e5c20
cmp dword [ebp + 0x18], 1
jne 0x4f4fee
mov esi, dword [esp + 0x18]
imul esi, dword [esp + 0x14]
jmp 0x4f50a9
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x5c], 2
jne 0x4f5049
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ecx + 0xa74]
push edx
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x4f50a9
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx edx, ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa74]
add esi, edx
mov edx, dword [ebp + 0x2c]
push edx
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x4f5015
jmp 0x4f50a9
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx esi, ax
jmp 0x4f50a9
mov edx, dword [esp + 0x38]
cmp byte [edx + 0x5c], 2
jne 0x4f50a7
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ecx + 0xa74]
push eax
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x4f50a9
mov eax, dword [esp + 0x10]
mov edx, dword [edi + eax + 0x90]
mov ecx, dword [ebp + 0x2c]
mov eax, dword [eax + 0xa74]
push ecx
add esi, edx
mov ecx, eax
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x4f5082
jmp 0x4f50a9
mov esi, eax
cmp dword [ebp + 0x14], 1
jne 0x4f50dc
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4f50e0
cmp eax, 1
je 0x4f50e0
cmp eax, 2
je 0x4f50e0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
xor eax, eax
mov ax, word [edx + edi]
push 1
neg esi
push esi
push eax
call fcn.004d20d0
jmp 0x4f50e0
add dword [esp + 0x54], esi
add edi, 4
cmp edi, 0x5f8
jl 0x4f4c30
mov eax, dword [esp + 0x4c]
cmp eax, 0x24
jle 0x4f50fd
mov eax, 0x24
mov ecx, dword [esp + 0x54]
cmp ecx, 0x24
jle 0x4f510b
mov ecx, 0x24
sub eax, ecx
mov ecx, dword [esp + 0x24c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
mov esi, dword [esi + 4]
cmp esi, ebx
jle 0x4f5530
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xa74]
movzx eax, word [edx + 0x15a]
cmp eax, esi
mov dword [esp + 0x20], eax
jge 0x4f5530
jmp 0x4f5152
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov esi, dword [edx + eax*4]
movzx eax, word [esi + 8]
cmp eax, dword [0x7466e8]
jg 0x4f5530
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00503690
push 1
mov ecx, esi
call fcn.00503690
push 2
mov ecx, esi
mov edi, eax
call fcn.00503690
push 3
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00503690
push 5
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.00503690
test edi, edi
je 0x4f51b3
movzx ecx, byte [ebp + 0x1c]
cmp edi, ecx
jne 0x4f5518
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4f51c7
movzx edx, byte [ebp + 0x20]
cmp ecx, edx
jne 0x4f5518
mov ecx, dword [0x7a3a28]
movzx edx, byte [ecx + 0xaa]
mov ecx, dword [esp + 0x50]
cmp ecx, edx
je 0x4f51e6
cmp ecx, dword [esp + 0x48]
jne 0x4f5518
test eax, eax
je 0x4f51f4
cmp eax, dword [esp + 0x34]
jne 0x4f5518
movzx eax, word [esi + 8]
cmp eax, dword [0x7466e4]
jne 0x4f5393
mov eax, dword [esi + 0x18]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae760
test eax, eax
mov dword [esp + 0x14], eax
je 0x4f52d7
mov dword [esp + 0x18], 0
mov edi, 0x568
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [edi + ecx + 0x240]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 0x14]
jne 0x4f525b
push 0
mov ecx, esi
mov ebx, 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5293
mov eax, dword [esp + 0x18]
inc eax
add edi, 4
cmp edi, 0x5f8
mov dword [esp + 0x18], eax
jl 0x4f5230
test ebx, ebx
jne 0x4f5518
xor edi, edi
lea eax, [ecx + 0x568]
nop
cmp dword [eax], 0xffffffff
je 0x4f52b0
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5280
jmp 0x4f5518
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [ecx + edx*4 + 0x568], eax
jmp 0x4f5518
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x14]
mov dword [ecx + edi*4 + 0x7a8], edx
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f5518
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f5333
mov dword [esp + 0x18], 0
mov edi, 0x568
lea ebx, [ebx]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x120]
cmp eax, dword [esi + 0x1c]
jne 0x4f5317
push 0
mov ecx, esi
mov ebx, 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5353
mov edx, dword [esp + 0x18]
inc edx
add edi, 4
cmp edi, 0x5f8
mov dword [esp + 0x18], edx
jl 0x4f52f0
test ebx, ebx
jne 0x4f5518
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x568]
nop
cmp dword [eax], 0xffffffff
je 0x4f5370
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5340
jmp 0x4f5518
push 0
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [edx + ecx*4 + 0x568], eax
jmp 0x4f5518
mov edx, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x688], edx
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f5518
cmp eax, dword [0x7466e8]
jne 0x4f5518
mov eax, dword [esi + 0x18]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push eax
call fcn.004ae760
test eax, eax
mov dword [esp + 0x14], eax
je 0x4f5463
mov dword [esp + 0x18], 0
mov edi, 0x5f8
lea ebx, [ebx]
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + ecx + 0x240]
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x14]
jne 0x4f53fb
push 0
mov ecx, esi
mov ebx, 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5433
mov eax, dword [esp + 0x18]
inc eax
add edi, 4
cmp edi, 0x688
mov dword [esp + 0x18], eax
jl 0x4f53d0
test ebx, ebx
jne 0x4f5518
xor edi, edi
lea eax, [ecx + 0x5f8]
nop
cmp dword [eax], 0xffffffff
je 0x4f5450
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5420
jmp 0x4f5518
push 0
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [ecx + edx*4 + 0x5f8], eax
jmp 0x4f5518
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x14]
mov dword [ecx + edi*4 + 0x838], edx
jmp 0x4f5504
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f54bf
mov dword [esp + 0x18], 0
mov edi, 0x5f8
jmp 0x4f5480
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x120]
cmp eax, dword [esi + 0x1c]
jne 0x4f54a7
push 0
mov ecx, esi
mov ebx, 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f54e0
mov edx, dword [esp + 0x18]
inc edx
add edi, 4
cmp edi, 0x688
mov dword [esp + 0x18], edx
jl 0x4f5480
test ebx, ebx
jne 0x4f5518
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x5f8]
jmp 0x4f54d0
cmp dword [eax], 0xffffffff
je 0x4f54fa
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f54d0
jmp 0x4f5518
push 0
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [edx + ecx*4 + 0x5f8], eax
jmp 0x4f5518
mov edx, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x718], edx
mov ecx, esi
push 0
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x5f8], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 4]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4f514e
mov ecx, dword [esp + 0x10]
xor esi, esi
xor eax, eax
add ecx, 0x5f8
mov edi, 4
mov edx, dword [ecx - 0x90]
cmp edx, 0xffffffff
je 0x4f5550
add eax, edx
mov edx, dword [ecx]
cmp edx, 0xffffffff
je 0x4f5559
add esi, edx
mov edx, dword [ecx - 0x8c]
cmp edx, 0xffffffff
je 0x4f5566
add eax, edx
mov edx, dword [ecx + 4]
cmp edx, 0xffffffff
je 0x4f5570
add esi, edx
mov edx, dword [ecx - 0x88]
cmp edx, 0xffffffff
je 0x4f557d
add eax, edx
mov edx, dword [ecx + 8]
cmp edx, 0xffffffff
je 0x4f5587
add esi, edx
mov edx, dword [ecx - 0x84]
cmp edx, 0xffffffff
je 0x4f5594
add eax, edx
mov edx, dword [ecx + 0xc]
cmp edx, 0xffffffff
je 0x4f559e
add esi, edx
mov edx, dword [ecx - 0x80]
cmp edx, 0xffffffff
je 0x4f55a8
add eax, edx
mov edx, dword [ecx + 0x10]
cmp edx, 0xffffffff
je 0x4f55b2
add esi, edx
mov edx, dword [ecx - 0x7c]
cmp edx, 0xffffffff
je 0x4f55bc
add eax, edx
mov edx, dword [ecx + 0x14]
cmp edx, 0xffffffff
je 0x4f55c6
add esi, edx
mov edx, dword [ecx - 0x78]
cmp edx, 0xffffffff
je 0x4f55d0
add eax, edx
mov edx, dword [ecx + 0x18]
cmp edx, 0xffffffff
je 0x4f55da
add esi, edx
mov edx, dword [ecx - 0x74]
cmp edx, 0xffffffff
je 0x4f55e4
add eax, edx
mov edx, dword [ecx + 0x1c]
cmp edx, 0xffffffff
je 0x4f55ee
add esi, edx
mov edx, dword [ecx - 0x70]
cmp edx, 0xffffffff
je 0x4f55f8
add eax, edx
mov edx, dword [ecx + 0x20]
cmp edx, 0xffffffff
je 0x4f5602
add esi, edx
add ecx, 0x24
dec edi
jne 0x4f5543
cmp eax, 0x14
jle 0x4f5616
mov eax, 0x14
cmp esi, 0x14
jle 0x4f5620
mov esi, 0x14
sub eax, esi
mov ecx, dword [esp + 0x24c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x50], ebx
jle 0x4f5973
mov edx, dword [ecx + 0xa74]
movzx edx, word [edx + 0x144]
cmp edx, eax
mov dword [esp + 0x20], edx
jge 0x4f5973
jmp 0x4f5671
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov esi, dword [eax + edx*4]
movzx edx, word [esi + 8]
cmp edx, dword [0x746710]
jg 0x4f5973
push 0
mov ecx, esi
mov dword [esp + 0x20], 0
call fcn.00503690
push 1
mov ecx, esi
mov edi, eax
call fcn.00503690
movzx eax, byte [ebp + 0x28]
cmp edi, eax
jne 0x4f594f
movzx eax, word [esi + 8]
cmp eax, dword [0x74670c]
jne 0x4f5825
mov eax, dword [esi + 0x18]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae760
test eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
je 0x4f577a
xor ebx, ebx
mov edi, 0x568
jmp 0x4f56f0
mov edx, dword [edi + ecx + 0x240]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 0x14]
jne 0x4f571e
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f57e9
add edi, 4
inc ebx
cmp edi, 0x5f8
jl 0x4f56f0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5953
xor edi, edi
lea eax, [ecx + 0x568]
mov edi, edi
cmp dword [eax], 0xffffffff
je 0x4f5753
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5740
jmp 0x4f5953
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
mov dword [ecx + edi*4 + 0x7a8], eax
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f594f
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f57ce
xor ebx, ebx
mov edi, 0x568
jmp 0x4f5790
mov edx, dword [edi + ecx + 0x120]
cmp edx, dword [esi + 0x1c]
jne 0x4f57b6
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f57e9
add edi, 4
inc ebx
cmp edi, 0x5f8
jl 0x4f5790
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5953
xor edi, edi
lea eax, [ecx + 0x568]
cmp dword [eax], 0xffffffff
je 0x4f5802
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f57d6
jmp 0x4f5953
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + ebx*4 + 0x568], eax
jmp 0x4f594f
mov edx, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x688], edx
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f594f
cmp eax, dword [0x746710]
jne 0x4f594f
mov eax, dword [esi + 0x18]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push eax
call fcn.004ae760
test eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
je 0x4f58d3
mov ebx, 0x5f8
jmp 0x4f5860
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + ecx + 0x240]
cmp eax, dword [edx + 0x14]
jne 0x4f588a
lea edi, [ebx + ecx]
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
add dword [edi], eax
mov ecx, dword [esp + 0x10]
add ebx, 4
cmp ebx, 0x688
jl 0x4f5860
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5953
xor edi, edi
lea eax, [ecx + 0x5f8]
lea esp, [esp]
cmp dword [eax], 0xffffffff
je 0x4f58c3
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f58b0
jmp 0x4f5953
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x14]
mov dword [ecx + edi*4 + 0x838], edx
jmp 0x4f593b
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f5919
mov ebx, 0x5f8
mov edi, edi
mov edx, dword [ebx + ecx + 0x120]
cmp edx, dword [esi + 0x1c]
jne 0x4f5906
lea edi, [ebx + ecx]
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
add dword [edi], eax
mov ecx, dword [esp + 0x10]
add ebx, 4
cmp ebx, 0x688
jl 0x4f58e0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5953
xor edi, edi
lea eax, [ecx + 0x5f8]
cmp dword [eax], 0xffffffff
je 0x4f5931
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5921
jmp 0x4f5953
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x718], eax
mov ecx, esi
push 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x5f8], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov esi, dword [edx + 4]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
inc eax
cmp eax, esi
mov dword [esp + 0x20], eax
jl 0x4f566d
lea eax, [ecx + 0x5f8]
mov edx, 4
mov edi, edi
mov ecx, dword [eax - 0x90]
cmp ecx, 0xffffffff
je 0x4f598d
add ebx, ecx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4f5996
add edi, ecx
mov ecx, dword [eax - 0x8c]
cmp ecx, 0xffffffff
je 0x4f59a3
add ebx, ecx
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
je 0x4f59ad
add edi, ecx
mov ecx, dword [eax - 0x88]
cmp ecx, 0xffffffff
je 0x4f59ba
add ebx, ecx
mov ecx, dword [eax + 8]
cmp ecx, 0xffffffff
je 0x4f59c4
add edi, ecx
mov ecx, dword [eax - 0x84]
cmp ecx, 0xffffffff
je 0x4f59d1
add ebx, ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 0xffffffff
je 0x4f59db
add edi, ecx
mov ecx, dword [eax - 0x80]
cmp ecx, 0xffffffff
je 0x4f59e5
add ebx, ecx
mov ecx, dword [eax + 0x10]
cmp ecx, 0xffffffff
je 0x4f59ef
add edi, ecx
mov ecx, dword [eax - 0x7c]
cmp ecx, 0xffffffff
je 0x4f59f9
add ebx, ecx
mov ecx, dword [eax + 0x14]
cmp ecx, 0xffffffff
je 0x4f5a03
add edi, ecx
mov ecx, dword [eax - 0x78]
cmp ecx, 0xffffffff
je 0x4f5a0d
add ebx, ecx
mov ecx, dword [eax + 0x18]
cmp ecx, 0xffffffff
je 0x4f5a17
add edi, ecx
mov ecx, dword [eax - 0x74]
cmp ecx, 0xffffffff
je 0x4f5a21
add ebx, ecx
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x4f5a2b
add edi, ecx
mov ecx, dword [eax - 0x70]
cmp ecx, 0xffffffff
je 0x4f5a35
add ebx, ecx
mov ecx, dword [eax + 0x20]
cmp ecx, 0xffffffff
je 0x4f5a3f
add edi, ecx
add eax, 0x24
dec edx
jne 0x4f5980
cmp ebx, 0x14
jle 0x4f5a53
mov ebx, 0x14
cmp edi, 0x1e
jle 0x4f5a5d
mov edi, 0x1e
mov eax, ebx
sub eax, edi
mov ecx, dword [esp + 0x24c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
mov eax, dword [esi + 4]
xor edx, edx
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], edi
jle 0x4f5e2e
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xa74]
movzx ecx, word [ecx + 0x158]
cmp ecx, eax
mov dword [esp + 0x20], ecx
jge 0x4f5e2e
jmp 0x4f5ab2
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov esi, dword [eax + ecx*4]
movzx ecx, word [esi + 8]
cmp ecx, dword [0x74675c]
jg 0x4f5e2e
push 0
mov ecx, esi
mov dword [esp + 0x20], 0
call fcn.00503690
push 1
mov ecx, esi
mov edi, eax
call fcn.00503690
push 2
mov ecx, esi
call fcn.00503690
push 4
mov ecx, esi
mov ebx, eax
call fcn.00503690
cmp edi, 0xff
je 0x4f5b0f
movzx edx, byte [ebp + 0x24]
cmp edi, edx
jne 0x4f5e0e
mov ecx, dword [0x7a3a28]
movzx edx, byte [ecx + 0xaa]
cmp ebx, edx
je 0x4f5b2a
cmp ebx, dword [esp + 0x48]
jne 0x4f5e0e
test eax, eax
je 0x4f5b38
cmp eax, dword [esp + 0x34]
jne 0x4f5e0e
movzx eax, word [esi + 8]
cmp eax, dword [0x746758]
jne 0x4f5cbf
mov eax, dword [esi + 0x18]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae760
test eax, eax
mov dword [esp + 0x14], eax
je 0x4f5c15
xor ebx, ebx
mov edi, 0x568
lea ecx, [ecx]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x240]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x14]
jne 0x4f5b9e
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov edx, dword [esp + 0x10]
cmp dword [edi + edx], eax
jl 0x4f5bd5
add edi, 4
inc ebx
cmp edi, 0x5f8
jl 0x4f5b70
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5e0e
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x568]
cmp dword [eax], 0xffffffff
je 0x4f5bee
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5bc2
jmp 0x4f5e0e
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + ebx*4 + 0x568], eax
jmp 0x4f5e0e
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
mov dword [ecx + edi*4 + 0x7a8], eax
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f5e0e
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f5c64
xor ebx, ebx
mov edi, 0x568
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x120]
cmp eax, dword [esi + 0x1c]
jne 0x4f5c4c
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5c83
add edi, 4
inc ebx
cmp edi, 0x5f8
jl 0x4f5c22
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5e0e
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x568]
cmp dword [eax], 0xffffffff
je 0x4f5c9c
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5c70
jmp 0x4f5e0e
push 1
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov dword [edx + ebx*4 + 0x568], eax
jmp 0x4f5e0e
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x688], eax
push 1
mov ecx, esi
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x568], eax
jmp 0x4f5e0e
cmp eax, dword [0x74675c]
jne 0x4f5e0e
mov eax, dword [esi + 0x18]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push eax
call fcn.004ae760
test eax, eax
mov dword [esp + 0x14], eax
je 0x4f5d81
xor ebx, ebx
mov edi, 0x5f8
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + eax + 0x240]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x14]
jne 0x4f5d1e
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5d55
add edi, 4
inc ebx
cmp edi, 0x688
jl 0x4f5cf0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5e0e
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x5f8]
cmp dword [eax], 0xffffffff
je 0x4f5d6e
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5d42
jmp 0x4f5e0e
push 1
mov ecx, esi
call fcn.00503690
mov edx, dword [esp + 0x10]
mov dword [edx + ebx*4 + 0x5f8], eax
jmp 0x4f5e0e
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x14]
mov dword [ecx + edi*4 + 0x838], edx
jmp 0x4f5dfa
cmp dword [esi + 0x1c], 0xffffffff
je 0x4f5dce
xor ebx, ebx
mov edi, 0x5f8
mov edi, edi
mov edx, dword [esp + 0x10]
mov eax, dword [edi + edx + 0x120]
cmp eax, dword [esi + 0x1c]
jne 0x4f5dba
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
cmp dword [edi + ecx], eax
jl 0x4f5d55
add edi, 4
inc ebx
cmp edi, 0x688
jl 0x4f5d90
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f5e0e
mov ecx, dword [esp + 0x10]
xor edi, edi
lea eax, [ecx + 0x5f8]
lea ebx, [ebx]
cmp dword [eax], 0xffffffff
je 0x4f5df0
inc edi
add eax, 4
cmp edi, 0x24
jl 0x4f5de0
jmp 0x4f5e0e
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*4 + 0x718], eax
mov ecx, esi
push 1
call fcn.00503690
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4 + 0x5f8], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 4]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4f5aae
mov eax, dword [esp + 0x10]
add eax, 0x5f8
mov esi, 4
lea esp, [esp]
mov ecx, dword [eax - 0x90]
cmp ecx, 0xffffffff
je 0x4f5e4d
add edi, ecx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4f5e56
add edx, ecx
mov ecx, dword [eax - 0x8c]
cmp ecx, 0xffffffff
je 0x4f5e63
add edi, ecx
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
je 0x4f5e6d
add edx, ecx
mov ecx, dword [eax - 0x88]
cmp ecx, 0xffffffff
je 0x4f5e7a
add edi, ecx
mov ecx, dword [eax + 8]
cmp ecx, 0xffffffff
je 0x4f5e84
add edx, ecx
mov ecx, dword [eax - 0x84]
cmp ecx, 0xffffffff
je 0x4f5e91
add edi, ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 0xffffffff
je 0x4f5e9b
add edx, ecx
mov ecx, dword [eax - 0x80]
cmp ecx, 0xffffffff
je 0x4f5ea5
add edi, ecx
mov ecx, dword [eax + 0x10]
cmp ecx, 0xffffffff
je 0x4f5eaf
add edx, ecx
mov ecx, dword [eax - 0x7c]
cmp ecx, 0xffffffff
je 0x4f5eb9
add edi, ecx
mov ecx, dword [eax + 0x14]
cmp ecx, 0xffffffff
je 0x4f5ec3
add edx, ecx
mov ecx, dword [eax - 0x78]
cmp ecx, 0xffffffff
je 0x4f5ecd
add edi, ecx
mov ecx, dword [eax + 0x18]
cmp ecx, 0xffffffff
je 0x4f5ed7
add edx, ecx
mov ecx, dword [eax - 0x74]
cmp ecx, 0xffffffff
je 0x4f5ee1
add edi, ecx
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x4f5eeb
add edx, ecx
mov ecx, dword [eax - 0x70]
cmp ecx, 0xffffffff
je 0x4f5ef5
add edi, ecx
mov ecx, dword [eax + 0x20]
cmp ecx, 0xffffffff
je 0x4f5eff
add edx, ecx
add eax, 0x24
dec esi
jne 0x4f5e40
cmp edi, 0x1e
jle 0x4f5f13
mov edi, 0x1e
cmp edx, 0x1e
jle 0x4f5f1d
mov edx, 0x1e
mov eax, edi
sub eax, edx
mov ecx, dword [esp + 0x24c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x28