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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x4c], ebx
test dl, dl
je 0x786a17
add esp, 0xfffffff0
call fcn.00408ce0
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x787ea9
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebx + 0x18c], eax
xor eax, eax
mov dword [ebx + 0x190], eax
mov dl, 1
mov eax, dword [0x706558]
call fcn.00707050
mov dword [ebx + 0x188], eax
mov eax, dword [ebx + 0x188]
mov edx, 0x787edc
call fcn.00707b20
xor eax, eax
mov dword [ebx + 0x180], eax
mov eax, dword [0x824a08]
mov eax, dword [eax]
mov dword [ebx + 0x184], eax
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x6a2af4]
call fcn.006a338c
mov dword [ebx + 4], eax
mov esi, dword [ebx + 4]
lea eax, [esi + 0x70]
mov edx, 0x787f08
call fcn.0040a850
mov edx, 0xc6
mov eax, esi
call fcn.006a2510
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.006dbc38
lea eax, [ebp - 0x20]
call fcn.004119b0
mov edx, eax
mov eax, esi
call fcn.006a24e4
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.006dbc38
lea eax, [ebp - 0x30]
call fcn.004119b8
sub eax, dword [esi + 0x1c]
mov dword [esi + 0x14], eax
xor eax, eax
mov dword [esi + 0x10], eax
mov edx, 0x787f1c
mov eax, esi
call fcn.006a3f6c
lea edx, [ebp - 0x40]
xor eax, eax
call fcn.005decb0
lea edx, [ebp - 0x40]
mov eax, esi
call fcn.006a3f58
xor edx, edx
mov eax, esi
call fcn.006a4014
mov dl, 2
mov eax, esi
call fcn.006dbe20
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6ec600]
call fcn.006ecad8
mov dword [ebx + 0x164], eax
mov eax, dword [ebx + 0x164]
mov dword [ebp - 0xc], eax
mov edx, 0x37
mov eax, dword [ebp - 0xc]
call fcn.006a24e4
mov edx, 0x4d
mov eax, dword [ebp - 0xc]
call fcn.006a2510
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x14], 0x61
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], 0x306
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x134], ebx
mov dword [eax + 0x130], 0x789484
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6dcce8]
call fcn.006dd610
mov dword [ebx + 8], eax
mov esi, dword [ebx + 8]
lea eax, [esi + 0x70]
mov edx, 0x787f40
call fcn.0040a850
mov edx, 0x190
mov eax, esi
call fcn.006a24e4
mov edx, 0xf
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x14], 0xa9
mov dword [esi + 0x10], 0x132
lea edx, [ebp - 0x48]
or eax, 0xffffffff
call fcn.005dec7c
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x120], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x124], eax
mov edx, 0x787f54
mov eax, esi
call fcn.006df89c
mov dword [esi + 0x84], ebx
mov dword [esi + 0x80], 0x78a170
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6c6770]
call fcn.006c7298
mov dword [ebx + 0xc], eax
mov esi, dword [ebx + 0xc]
lea eax, [esi + 0x70]
mov edx, 0x787f74
call fcn.0040a850
mov edx, 0x1f4
mov eax, esi
call fcn.006a24e4
mov edx, 0x54
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x103
mov dword [esi + 0x14], 0x4f
mov byte [esi + 0x20], 1
mov edx, 0xe
mov eax, esi
call fcn.006c8f08
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [esi + 0x134]
mov edx, 0x787f8c
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [esi + 0x19c], ebx
mov dword [esi + 0x198], 0x78a178
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x78], 0x78a35c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a43e0]
call fcn.006a4828
mov dword [ebx + 0x10], eax
mov esi, dword [ebx + 0x10]
lea eax, [esi + 0x70]
mov edx, 0x787f9c
call fcn.0040a850
mov edx, 0x32
mov eax, esi
call fcn.006a24e4
mov edx, 0xf
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x40
mov dword [esi + 0x14], 0xac
mov byte [esi + 0x10d], 2
lea edx, [ebp - 0x48]
or eax, 0xffffffff
call fcn.005dec7c
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x108]
mov edx, 0x787fac
call fcn.0040a8c4
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a43e0]
call fcn.006a4828
mov dword [ebx + 0x14], eax
mov esi, dword [ebx + 0x14]
lea eax, [esi + 0x70]
mov edx, 0x787fc8
call fcn.0040a850
mov edx, 0x32
mov eax, esi
call fcn.006a24e4
mov edx, 0xf
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xb8
mov dword [esi + 0x14], 0xac
mov byte [esi + 0x10d], 2
lea edx, [ebp - 0x48]
or eax, 0xffffffff
call fcn.005dec7c
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x108]
mov edx, 0x787fd8
call fcn.0040a8c4
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a43e0]
call fcn.006a4828
mov dword [ebx + 0x1c], eax
mov esi, dword [ebx + 0x1c]
lea eax, [esi + 0x70]
mov edx, 0x787ff0
call fcn.0040a850
mov edx, 0x3c
mov eax, esi
call fcn.006a24e4
mov edx, 0xf
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x28
mov dword [esi + 0x14], 0x3d
mov byte [esi + 0x10d], 2
lea edx, [ebp - 0x48]
or eax, 0xffffffff
call fcn.005dec7c
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x108]
mov edx, 0x788000
call fcn.0040a8c4
mov byte [esi + 0x10c], 0
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x18], eax
mov esi, dword [ebx + 0x18]
lea eax, [esi + 0x70]
mov edx, 0x788010
call fcn.0040a850
mov edx, 0x62
mov eax, esi
call fcn.006a24e4
mov edx, 9
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x37e
mov dword [esi + 0x14], 0x61
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x148], 0xfffffc00
mov edx, 0x788028
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
xor edx, edx
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x58], eax
mov esi, dword [ebx + 0x58]
lea eax, [esi + 0x70]
mov edx, 0x788044
call fcn.0040a850
mov edx, 0x47
mov eax, esi
call fcn.006a24e4
mov edx, 5
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xa7
mov dword [esi + 0x14], 0x54
mov dword [esi + 0x138], 0x2710
mov dword [esi + 0x130], 0x2710
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x7f
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x5c], eax
mov esi, dword [ebx + 0x5c]
lea eax, [esi + 0x70]
mov edx, 0x788080
call fcn.0040a850
mov edx, 0x47
mov eax, esi
call fcn.006a24e4
mov edx, 5
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xa7
mov dword [esi + 0x14], 0x5d
mov dword [esi + 0x138], 0x2710
mov dword [esi + 0x130], 0x2710
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x7f
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x60], eax
mov esi, dword [ebx + 0x60]
lea eax, [esi + 0x70]
mov edx, 0x788094
call fcn.0040a850
mov edx, 0x47
mov eax, esi
call fcn.006a24e4
mov edx, 5
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xa7
mov dword [esi + 0x14], 0x66
mov dword [esi + 0x138], 0x2710
mov dword [esi + 0x130], 0x2710
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x7f
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x64], eax
mov esi, dword [ebx + 0x64]
lea eax, [esi + 0x70]
mov edx, 0x7880a8
call fcn.0040a850
mov edx, 0x62
mov eax, esi
call fcn.006a24e4
mov edx, 9
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x37e
mov dword [esi + 0x14], 0x77
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x148], 0xff444444
mov edx, 0x7880bc
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
xor edx, edx
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x68], eax
mov esi, dword [ebx + 0x68]
lea eax, [esi + 0x70]
mov edx, 0x7880d8
call fcn.0040a850
mov edx, 0x64
mov eax, esi
call fcn.006a24e4
mov edx, 9
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x37d
mov dword [esi + 0x14], 0x77
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x148], 0xff444444
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x7a
mov eax, 0x62
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x6c], eax
mov esi, dword [ebx + 0x6c]
lea eax, [esi + 0x70]
mov edx, 0x7880ec
call fcn.0040a850
mov edx, 0x62
mov eax, esi
call fcn.006a24e4
mov edx, 4
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x380
mov dword [esi + 0x14], 0x86
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x148], 0xff444444
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x7a
mov eax, 0x62
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x70], eax
mov esi, dword [ebx + 0x70]
lea eax, [esi + 0x70]
mov edx, 0x788100
call fcn.0040a850
mov edx, 0x62
mov eax, esi
call fcn.006a24e4
mov edx, 9
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x37e
mov dword [esi + 0x14], 0x8d
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788114
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
xor edx, edx
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x74], eax
mov esi, dword [ebx + 0x74]
lea eax, [esi + 0x70]
mov edx, 0x788130
call fcn.0040a850
mov edx, 0x47
mov eax, esi
call fcn.006a24e4
mov edx, 5
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xaa
mov dword [esi + 0x14], 0x51
mov dword [esi + 0x138], 9
mov dword [esi + 0x130], 9
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x83
xor eax, eax
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e61f4]
call fcn.006e6728
mov dword [ebx + 0x78], eax
mov esi, dword [ebx + 0x78]
lea eax, [esi + 0x70]
mov edx, 0x788148
call fcn.0040a850
mov edx, 0x47
mov eax, esi
call fcn.006a24e4
mov edx, 5
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0xaa
mov dword [esi + 0x14], 0x5a
mov dword [esi + 0x138], 0x64
mov dword [esi + 0x130], 0x64
mov dword [esi + 0x148], 0xff774040
mov edx, 0x788058
mov eax, esi
call fcn.006e6d64
lea ecx, [ebp - 0x48]
mov edx, 0x83
mov eax, 0x47
call fcn.005ddff8
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.006e6e0c
xor edx, edx
mov eax, esi
call fcn.006a25dc
xor esi, esi
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a43e0]
call fcn.006a4828
mov edi, eax
mov dword [ebx + esi*4 + 0x20], edi
lea edx, [ebp - 0x4c]
mov eax, esi
call fcn.00424ba0
mov ecx, dword [ebp - 0x4c]
lea eax, [edi + 0x70]
mov edx, 0x788160
call fcn.0040b87c
mov edx, 0x50
mov eax, edi
call fcn.006a24e4
mov edx, 0xe
mov eax, edi
call fcn.006a2510
mov dword [edi + 0x10], 0x21
mov eax, esi
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
add eax, 0x56
mov dword [edi + 0x14], eax
lea edx, [ebp - 0x48]
or eax, 0xffffffff
call fcn.005dec7c
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x28], eax
lea eax, [edi + 0x108]
mov edx, 0x788170
call fcn.0040a8c4
mov byte [edi + 0x20], 1
mov byte [edi + 0x10c], 0
inc esi
cmp esi, 4
jne 0x7873a4
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 0x34]
lea eax, [esi + 0x70]
mov edx, 0x78818c
call fcn.0040a850
mov edx, 0x12
mov eax, esi
call fcn.006a24e4
mov edx, 0x14
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x2e5
mov dword [esi + 0x14], 0xa7
mov byte [esi + 0x20], 1
mov edx, 0x788058
mov eax, esi
call fcn.006a62e0
mov edx, 0x788058
mov eax, esi
call fcn.006a6138
push 0x14
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x12
mov edx, 0x4c
mov eax, 0xb8
call fcn.005def74
push esi
lea edi, [esi + 0x158]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
push 0x14
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x12
mov edx, 0x60
mov eax, 0xb8
call fcn.005def74
push esi
lea edi, [esi + 0x178]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1b8], 0x78a608
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov dword [ebx + 0x38], eax
mov esi, dword [ebx + 0x38]
lea eax, [esi + 0x70]
mov edx, 0x7881a8
call fcn.0040a850
mov edx, 0x2a
mov eax, esi
call fcn.006a24e4
mov edx, 0x12
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x106
mov dword [esi + 0x14], 0xa8
mov byte [esi + 0x20], 1
mov edx, 0x788058
mov eax, esi
call fcn.006a62e0
mov edx, 0x788058
mov eax, esi
call fcn.006a6138
push 0x12
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x2a
xor edx, edx
mov eax, 0x1bc
call fcn.005def74
push esi
lea edi, [esi + 0x158]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
push 0x12
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x2a
mov edx, 0x12
mov eax, 0x1bc
call fcn.005def74
push esi
lea edi, [esi + 0x178]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1b8], 0x78a5f8
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a2af4]
call fcn.006a338c
mov dword [ebx + 0x3c], eax
mov esi, dword [ebx + 0x3c]
lea eax, [esi + 0x70]
mov edx, 0x7881c0
call fcn.0040a850
mov edx, 0x6c
mov eax, esi
call fcn.006a2510
mov edx, 0x31
mov eax, esi
call fcn.006a24e4
mov eax, 0xa8
sub eax, dword [esi + 0x1c]
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0x106
lea edx, [ebp - 0x40]
xor eax, eax
call fcn.005decb0
lea edx, [ebp - 0x40]
mov eax, esi
call fcn.006a3f58
xor edx, edx
mov eax, esi
call fcn.006a4014
xor edx, edx
mov eax, esi
call fcn.006a25dc
xor esi, esi
mov ecx, dword [ebx + 0x3c]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov edi, eax
mov dword [ebx + esi*4 + 0x40], edi
lea edx, [ebp - 0x70]
mov eax, esi
call fcn.00424ba0
mov ecx, dword [ebp - 0x70]
lea eax, [edi + 0x70]
mov edx, 0x7881d8
call fcn.0040b87c
mov edx, 0x2a
mov eax, edi
call fcn.006a24e4
mov edx, 0x12
mov eax, edi
call fcn.006a2510
xor eax, eax
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x1c]
imul esi
mov dword [edi + 0x14], eax
mov dword [edi + 0x2c], esi
mov byte [edi + 0x20], 1
mov edx, 0x788058
mov eax, edi
call fcn.006a62e0
mov edx, 0x788058
mov eax, edi
call fcn.006a6138
push 0x12
lea eax, [ebp - 0x6c]
push eax
imul eax, esi, 0x2a
add eax, 0xea
mov ecx, 0x2a
xor edx, edx
call fcn.005def74
push esi
push edi
lea esi, [ebp - 0x6c]
add edi, 0x158
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0x12
lea eax, [ebp - 0x6c]
push eax
imul eax, esi, 0x2a
add eax, 0xea
mov ecx, 0x2a
mov edx, 0x12
call fcn.005def74
push esi
push edi
lea esi, [ebp - 0x6c]
add edi, 0x178
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword [edi + 0x1bc], ebx
mov dword [edi + 0x1b8], 0x7893bc
inc esi
cmp esi, 6
jne 0x787646
xor esi, esi
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6e6e70]
call fcn.006e71f4
mov dword [ebx + esi*4 + 0xb4], eax
mov edi, dword [ebx + esi*4 + 0xb4]
lea edx, [ebp - 0x74]
mov eax, esi
call fcn.00424ba0
mov ecx, dword [ebp - 0x74]
lea eax, [edi + 0x70]
mov edx, 0x7881f0
call fcn.0040b87c
mov edx, 0x1e
mov eax, edi
call fcn.006a24e4
mov edx, 0x1e
mov eax, edi
call fcn.006a2510
imul eax, esi, 0x1e
add eax, 0x16c
mov edx, esi
test edx, edx
jns 0x787794
add edx, 3
sar edx, 2
imul edx, edx, 0x39
add eax, edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0x1e
mov dword [edi + 0x2c], esi
mov dword [edi + 0x134], ebx
mov dword [edi + 0x130], 0x78a38c
mov dword [edi + 0x13c], ebx
mov dword [edi + 0x138], 0x78a388
mov dword [edi + 0xec], ebx
mov dword [edi + 0xe8], 0x78a4e8
mov dword [edi + 0xe4], ebx
mov dword [edi + 0xe0], 0x78a3c0
mov dword [edi + 0x7c], ebx
mov dword [edi + 0x78], 0x78a538
inc esi
cmp esi, 8
jne 0x787734
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov dword [ebx + 0x30], eax
mov esi, dword [ebx + 0x30]
lea eax, [esi + 0x70]
mov edx, 0x788204
call fcn.0040a850
mov edx, 0x14
mov eax, esi
call fcn.006a24e4
mov edx, 0x14
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x108
mov dword [esi + 0x14], 0xa5
mov byte [esi + 0x20], 1
mov edx, 0x788058
mov eax, esi
call fcn.006a62e0
mov edx, 0x788058
mov eax, esi
call fcn.006a6138
push 0x14
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x14
mov edx, 0x4c
mov eax, 0xa4
call fcn.005def74
push esi
lea edi, [esi + 0x158]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
push 0x14
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x14
mov edx, 0x60
mov eax, 0xa4
call fcn.005def74
push esi
lea edi, [esi + 0x178]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1b8], 0x78a62c
xor edx, edx
mov eax, esi
call fcn.006a25dc
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov dword [ebx + 0x158], eax
mov esi, dword [ebx + 0x158]
lea eax, [esi + 0x70]
mov edx, 0x78821c
call fcn.0040a850
mov edx, 0x25
mov eax, esi
call fcn.006a24e4
mov edx, 0x25
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x14
mov dword [esi + 0x14], 0x19
mov byte [esi + 0x20], 1
mov edx, 0x788058
mov eax, esi
call fcn.006a62e0
mov edx, 0x788058
mov eax, esi
call fcn.006a6138
push 0x25
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x25
mov edx, 0x4c
mov eax, 0xea
call fcn.005def74
push esi
lea edi, [esi + 0x158]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
push 0x25
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x25
mov edx, 0x4c
mov eax, 0x10f
call fcn.005def74
push esi
lea edi, [esi + 0x198]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
push 0x25
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x25
mov edx, 0x4c
mov eax, 0x134
call fcn.005def74
push esi
lea edi, [esi + 0x178]
lea esi, [ebp - 0x6c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1b8], 0x789398
xor esi, esi
mov eax, 0x823c84
mov dword [ebp - 0x10], eax
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6a4e7c]
call fcn.006a55fc
mov dword [ebx + esi*4 + 0x7c], eax
mov edi, dword [ebx + esi*4 + 0x7c]
lea edx, [ebp - 0x78]
mov eax, esi
call fcn.00424ba0
mov ecx, dword [ebp - 0x78]
lea eax, [edi + 0x70]
mov edx, 0x788230
call fcn.0040b87c
mov eax, esi
cmp eax, 0xd
ja case.default.0x787a16
jmp dword [eax*4 + 0x787a1d]
imul eax, esi, 0x17
add eax, 0x34f
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xa8
mov edx, 0x17
mov eax, edi
call fcn.006a24e4
mov edx, 0x15
mov eax, edi
call fcn.006a2510
mov edx, 0x788248
mov eax, edi
call fcn.006a62e0
mov edx, 0x788248
mov eax, edi
call fcn.006a620c
mov edx, 0x788248
mov eax, edi
call fcn.006a6138
push 0x15
lea eax, [ebp - 0x6c]
push eax
imul edx, esi, 0x15
mov ecx, 0x17
xor eax, eax
call fcn.005def74
push esi
push edi
lea esi, [ebp - 0x6c]
add edi, 0x158
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0x15
lea eax, [ebp - 0x6c]
push eax
imul edx, esi, 0x15
mov ecx, 0x17
mov eax, 0x17
call fcn.005def74
push esi
push edi
lea esi, [ebp - 0x6c]
add edi, 0x198
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0x15
lea eax, [ebp - 0x6c]
push eax
imul edx, esi, 0x15
mov ecx, 0x17
mov eax, 0x2e
call fcn.005def74
push esi
push edi
lea esi, [ebp - 0x6c]
add edi, 0x178
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp case.default.0x787a16
mov dword [edi + 0x10], 0x3c9
mov dword [edi + 0x14], 0x1a
mov edx, 0x2e
mov eax, edi
call fcn.006a24e4
mov edx, 0x2b
mov eax, edi
call fcn.006a2510
mov edx, 0x788274
mov eax, edi
call fcn.006a62e0
mov edx, 0x788290
mov eax, edi
call fcn.006a620c
mov edx, 0x7882ac
mov eax, edi
call fcn.006a6138
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp case.default.0x787a16
mov dword [edi + 0x10], 0x7f
mov dword [edi + 0x14], 0xa7
mov edx, 0x2c
mov eax, edi
call fcn.006a24e4
mov edx, 0x14
mov eax, edi
call fcn.006a2510
mov edx, 0x7882c8
mov eax, edi
call fcn.006a62e0
mov edx, 0x7882e8
mov eax, edi
call fcn.006a620c
mov edx, 0x788308
mov eax, edi
call fcn.006a6138
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp case.default.0x787a16
mov dword [edi + 0x10], 0xab
mov dword [edi + 0x14], 0xa7
mov edx, 0x2c
mov eax, edi
call fcn.006a24e4
mov edx, 0x14
mov eax, edi
call fcn.006a2510
mov edx, 0x788328
mov eax, edi
call fcn.006a62e0
mov edx, 0x788348
mov eax, edi
call fcn.006a620c
mov edx, 0x788368
mov eax, edi
call fcn.006a6138
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp case.default.0x787a16
mov dword [edi + 0x10], 0xd6
mov dword [edi + 0x14], 0xa7
mov edx, 0x2c
mov eax, edi
call fcn.006a24e4
mov edx, 0x14
mov eax, edi
call fcn.006a2510
mov edx, 0x788388
mov eax, edi
call fcn.006a62e0
mov edx, 0x7883a8
mov eax, edi
call fcn.006a620c
mov edx, 0x7883c8
mov eax, edi
call fcn.006a6138
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp case.default.0x787a16
mov dword [edi + 0x10], 0x8b
mov dword [edi + 0x14], 0x74
mov edx, 0x4e
mov eax, edi
call fcn.006a24e4
mov edx, 0x14
mov eax, edi
call fcn.006a2510
mov edx, 0x7883e8
mov eax, edi
call fcn.006a62e0
mov edx, 0x788408
mov eax, edi
call fcn.006a620c
mov edx, 0x788428
mov eax, edi
call fcn.006a6138
jmp case.default.0x787a16
mov dword [edi + 0x10], 0x8b
mov dword [edi + 0x14], 0x8a
mov edx, 0x4e
mov eax, edi
call fcn.006a24e4
mov edx, 0x14
mov eax, edi
call fcn.006a2510
mov edx, 0x788448
mov eax, edi
call fcn.006a62e0
mov edx, 0x788468
mov eax, edi
call fcn.006a620c
mov edx, 0x788488
mov eax, edi
call fcn.006a6138
jmp case.default.0x787a16
mov dword [edi + 0x10], 0xe0
mov dword [edi + 0x14], 0x70
mov edx, 0x1e
mov eax, edi
call fcn.006a24e4
mov edx, 0x31
mov eax, edi
call fcn.006a2510
mov edx, 0x7884a8
mov eax, edi
call fcn.006a62e0
mov edx, 0x7884c8
mov eax, edi
call fcn.006a620c
mov edx, 0x7884e8
mov eax, edi
call fcn.006a6138
mov dword [edi + 0x2c], esi
mov byte [edi + 0x20], 1
mov dword [edi + 0x1bc], ebx
mov dword [edi + 0x1b8], 0x789854
inc esi
add dword [ebp - 0x10], 4
cmp esi, 0xe
jne 0x7879da
mov ecx, dword [ebx + 4]
mov dl, 1
mov eax, dword [0x6ec600]
call fcn.006ecad8
mov dword [ebx + 0x154], eax
mov esi, dword [ebx + 0x154]
lea eax, [esi + 0x70]
mov edx, 0x788508
call fcn.0040a850
mov edx, 0x24
mov eax, esi
call fcn.006a24e4
mov edx, 0x24
mov eax, esi
call fcn.006a2510
mov dword [esi + 0x10], 0x1ef
mov dword [esi + 0x14], 0x12
mov byte [esi + 0x20], 1
mov dword [esi + 0x134], ebx
mov dword [esi + 0x130], 0x7895dc
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x78], 0x7897ec
xor eax, eax
mov dword [ebx + 0x160], eax
xor eax, eax
mov dword [ebx + 0x16c], eax
mov dword [ebx + 0x168], 0x4b
xor eax, eax
mov dword [ebx + 0x170], eax
mov dl, 1
mov eax, dword [0x48e344]
call fcn.004b16fc
mov dword [ebx + 0x174], eax
mov dword [ebx + 0x178], 0xffffffff
mov ecx, dword [0x824564]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x6e85f0]
call fcn.006e8ff8
mov dword [ebx + 0x198], eax
mov eax, dword [ebx + 0x198]
mov edx, 0x788520
call fcn.006ea7a0
mov byte [ebx + 0x19c], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x787eb0
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.0040a4d0
lea eax, [ebp - 0x4c]
call fcn.0040a470
ret