Function at 0x606ad4
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 8
lea eax, [ebp - 8]
mov esi, ecx
push eax
mov ecx, edi
call fcn.0042204b
call dword [sym.imp.winmm.dll_timeGetTime]
mov ebx, eax
mov eax, dword [ebp - 8]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x606b4a
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0xc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x14], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x18]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x20], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x24]
call fcn.00412a43
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 8]
and eax, 2
xor ecx, ecx
or eax, ecx
je 0x606b9e
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x3c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x44], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x48]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x50], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x54]
call fcn.00412a43
mov dword [esi + 0x5c], eax
mov eax, dword [ebp - 8]
and eax, 4
xor ecx, ecx
or eax, ecx
je 0x606bfb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x6c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x74], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x78]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x80], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x84]
call fcn.00412a43
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 8]
and eax, 8
xor ecx, ecx
or eax, ecx
je 0x606c61
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x9c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0xa4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0xa8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0xb0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0xb4]
call fcn.00412a43
mov dword [esi + 0xbc], eax
mov eax, dword [ebp - 8]
and eax, 0x10
xor ecx, ecx
or eax, ecx
je 0x606cc7
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0xcc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0xd4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0xd8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0xe0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0xe4]
call fcn.00412a43
mov dword [esi + 0xec], eax
mov eax, dword [ebp - 8]
and eax, 0x20
xor ecx, ecx
or eax, ecx
je 0x606d2d
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0xfc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x104], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x108]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x110], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x114]
call fcn.00412a43
mov dword [esi + 0x11c], eax
mov eax, dword [ebp - 8]
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x606d93
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x12c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x134], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x138]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x140], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x144]
call fcn.00412a43
mov dword [esi + 0x14c], eax
mov eax, dword [ebp - 8]
and eax, 0x80
xor ecx, ecx
or eax, ecx
je 0x606dfb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x15c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x164], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x168]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x170], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x174]
call fcn.00412a43
mov dword [esi + 0x17c], eax
mov eax, dword [ebp - 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x606e63
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x18c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x194], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x198]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x1a0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x1a4]
call fcn.00412a43
mov dword [esi + 0x1ac], eax
mov eax, dword [ebp - 8]
and eax, 0x200
xor ecx, ecx
or eax, ecx
je 0x606ecb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x1b0]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x1b8], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x1bc]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x1c4], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x1c8]
call fcn.00412a43
mov dword [esi + 0x1d0], eax
mov eax, dword [ebp - 8]
and eax, 0x400
xor ecx, ecx
or eax, ecx
je 0x606f33
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x1d4]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x1dc], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x1e0]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x1e8], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x1ec]
call fcn.00412a43
mov dword [esi + 0x1f4], eax
mov eax, dword [ebp - 8]
and eax, 0x800
xor ecx, ecx
or eax, ecx
je 0x606f9b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x204]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x20c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x210]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x218], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x21c]
call fcn.00412a43
mov dword [esi + 0x224], eax
mov eax, dword [ebp - 8]
and eax, 0x1000
xor ecx, ecx
or eax, ecx
je 0x607003
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x228]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x230], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x234]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x23c], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x240]
call fcn.00412a43
mov dword [esi + 0x248], eax
mov eax, dword [ebp - 8]
and eax, 0x2000
xor ecx, ecx
or eax, ecx
je 0x60706b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x24c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x254], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x258]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x260], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x264]
call fcn.00412a43
mov dword [esi + 0x26c], eax
mov eax, dword [ebp - 8]
and eax, 0x4000
xor ecx, ecx
or eax, ecx
je 0x6070d3
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x270]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x278], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x27c]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x284], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x288]
call fcn.00412a43
mov dword [esi + 0x290], eax
mov eax, dword [ebp - 8]
and eax, 0x8000
xor ecx, ecx
or eax, ecx
je 0x60713b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x294]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x29c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x2a0]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x2a8], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x2ac]
call fcn.00412a43
mov dword [esi + 0x2b4], eax
mov eax, dword [ebp - 8]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x6071a3
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x2b8]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x2c0], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x2c4]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x2cc], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x2d0]
call fcn.00412a43
mov dword [esi + 0x2d8], eax
mov eax, dword [ebp - 8]
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x60720b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x2dc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x2e4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x2e8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x2f0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x2f4]
call fcn.00412a43
mov dword [esi + 0x2fc], eax
mov eax, dword [ebp - 8]
and eax, 0x40000
xor ecx, ecx
or eax, ecx
je 0x607273
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x300]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x308], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x30c]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x314], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x318]
call fcn.00412a43
mov dword [esi + 0x320], eax
mov eax, dword [ebp - 8]
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x6072db
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x324]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x32c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x330]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x338], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x33c]
call fcn.00412a43
mov dword [esi + 0x344], eax
mov eax, dword [ebp - 8]
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x607343
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x348]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x350], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x354]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x35c], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x360]
call fcn.00412a43
mov dword [esi + 0x368], eax
mov eax, dword [ebp - 8]
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x6073ab
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x36c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x374], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x378]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x380], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x384]
call fcn.00412a43
mov dword [esi + 0x38c], eax
mov eax, dword [ebp - 8]
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x607413
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x39c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3a4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x3a8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3b0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x3b4]
call fcn.00412a43
mov dword [esi + 0x3bc], eax
mov eax, dword [ebp - 8]
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x60747b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x3c0]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3c8], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x3cc]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3d4], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x3d8]
call fcn.00412a43
mov dword [esi + 0x3e0], eax
mov eax, dword [ebp - 8]
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x6074e3
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x3e4]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3ec], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x3f0]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x3f8], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x3fc]
call fcn.00412a43
mov dword [esi + 0x404], eax
mov eax, dword [ebp - 8]
and eax, 0x2000000
xor ecx, ecx
or eax, ecx
je 0x60754b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x408]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x410], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x414]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x41c], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x420]
call fcn.00412a43
mov dword [esi + 0x428], eax
mov eax, dword [ebp - 8]
and eax, 0x4000000
xor ecx, ecx
or eax, ecx
je 0x6075b3
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x42c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x434], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x438]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x440], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x444]
call fcn.00412a43
mov dword [esi + 0x44c], eax
mov eax, dword [ebp - 8]
and eax, 0x8000000
xor ecx, ecx
or eax, ecx
je 0x60761b
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x450]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x458], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x45c]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x464], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x468]
call fcn.00412a43
mov dword [esi + 0x470], eax
mov eax, dword [ebp - 8]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x607683
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x474]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x47c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x480]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x488], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x48c]
call fcn.00412a43
mov dword [esi + 0x494], eax
mov eax, dword [ebp - 8]
and eax, 0x20000000
xor ecx, ecx
or eax, ecx
je 0x6076eb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x498]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4a0], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x4a4]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4ac], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x4b0]
call fcn.00412a43
mov dword [esi + 0x4b8], eax
mov eax, dword [ebp - 8]
and eax, 0x40000000
xor ecx, ecx
or eax, ecx
je 0x607753
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x4bc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4c4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x4c8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4d0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x4d4]
call fcn.00412a43
mov dword [esi + 0x4dc], eax
mov eax, dword [ebp - 8]
and eax, 0x80000000
xor ecx, ecx
or eax, ecx
je 0x6077bb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x4e0]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4e8], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x4ec]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x4f4], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x4f8]
call fcn.00412a43
mov dword [esi + 0x500], eax
mov ecx, dword [ebp - 4]
and ecx, 1
xor eax, eax
or eax, ecx
je 0x607821
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x504]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x50c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x510]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x518], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x51c]
call fcn.00412a43
mov dword [esi + 0x524], eax
mov ecx, dword [ebp - 4]
and ecx, 2
xor eax, eax
or eax, ecx
je 0x607887
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x528]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x530], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x534]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x53c], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x540]
call fcn.00412a43
mov dword [esi + 0x548], eax
mov ecx, dword [ebp - 4]
and ecx, 4
xor eax, eax
or eax, ecx
je 0x6078ed
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x570]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x578], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x57c]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x584], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x588]
call fcn.00412a43
mov dword [esi + 0x590], eax
mov ecx, dword [ebp - 4]
and ecx, 8
xor eax, eax
or eax, ecx
je 0x607953
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x594]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x59c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x5a0]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x5a8], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x5ac]
call fcn.00412a43
mov dword [esi + 0x5b4], eax
mov ecx, dword [ebp - 4]
and ecx, 0x10
xor eax, eax
or eax, ecx
je 0x6079b9
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x5b8]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x5c0], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x5c4]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x5cc], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x5d0]
call fcn.00412a43
mov dword [esi + 0x5d8], eax
mov ecx, dword [ebp - 4]
and ecx, 0x20
xor eax, eax
or eax, ecx
je 0x607a1f
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x5dc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x5e4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x5e8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x5f0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x5f4]
call fcn.00412a43
mov dword [esi + 0x5fc], eax
mov ecx, dword [ebp - 4]
and ecx, 0x40
xor eax, eax
or eax, ecx
je 0x607a85
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x60c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x614], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x618]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x620], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x624]
call fcn.00412a43
mov dword [esi + 0x62c], eax
mov ecx, dword [ebp - 4]
and ecx, 0x80
xor eax, eax
or eax, ecx
je 0x607aee
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x630]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x638], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x63c]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x644], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x648]
call fcn.00412a43
mov dword [esi + 0x650], eax
mov ecx, dword [ebp - 4]
and ecx, 0x100
xor eax, eax
or eax, ecx
je 0x607b57
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x654]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x65c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x660]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x668], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x66c]
call fcn.00412a43
mov dword [esi + 0x674], eax
mov ecx, dword [ebp - 4]
and ecx, 0x200
xor eax, eax
or eax, ecx
je 0x607bc0
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x684]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x68c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x690]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x698], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x69c]
call fcn.00412a43
mov dword [esi + 0x6a4], eax
mov ecx, dword [ebp - 4]
and ecx, 0x400
xor eax, eax
or eax, ecx
je 0x607c29
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x6a8]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x6b0], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x6b4]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x6bc], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x6c0]
call fcn.00412a43
mov dword [esi + 0x6c8], eax
mov ecx, dword [ebp - 4]
and ecx, 0x800
xor eax, eax
or eax, ecx
je 0x607c92
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x6cc]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x6d4], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x6d8]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x6e0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x6e4]
call fcn.00412a43
mov dword [esi + 0x6ec], eax
mov ecx, dword [ebp - 4]
and ecx, 0x1000
xor eax, eax
or eax, ecx
je 0x607cfb
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x6f0]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x6f8], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x6fc]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x704], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x708]
call fcn.00412a43
mov dword [esi + 0x710], eax
mov ecx, dword [ebp - 4]
and ecx, 0x4000
xor eax, eax
or eax, ecx
je 0x607d64
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x738]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x740], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x744]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x74c], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x750]
call fcn.00412a43
mov dword [esi + 0x758], eax
mov ecx, dword [ebp - 4]
and ecx, 0x2000
xor eax, eax
or eax, ecx
je 0x607dcd
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x714]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x71c], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x720]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x728], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x72c]
call fcn.00412a43
mov dword [esi + 0x734], eax
mov ecx, dword [ebp - 4]
and ecx, 0x8000
xor eax, eax
or eax, ecx
je 0x607e36
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x75c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x764], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x768]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x770], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x774]
call fcn.00412a43
mov dword [esi + 0x77c], eax
mov ecx, dword [ebp - 4]
and ecx, 0x10000
xor eax, eax
or eax, ecx
je 0x607e9f
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x78c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x794], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x798]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x7a0], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x7a4]
call fcn.00412a43
mov dword [esi + 0x7ac], eax
mov ecx, dword [ebp - 4]
and ecx, 0x20000
xor eax, eax
or eax, ecx
je 0x607f08
mov ecx, edi
call fcn.00421fda
movsx ecx, ax
lea edx, [esi + 0x54c]
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x554], eax
call fcn.00422013
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea edx, [esi + 0x558]
mov ecx, eax
call fcn.00412a43
mov ecx, edi
mov dword [esi + 0x560], eax
call fcn.00422013
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [eax + ebx]
lea edx, [esi + 0x564]
call fcn.00412a43
mov dword [esi + 0x56c], eax
mov eax, dword [ebp - 8]
and eax, 0x400
xor ecx, ecx
or eax, ecx
je 0x607f56
lea edi, [esi + 0x1f8]
mov edx, edi
mov ecx, ebx
call fcn.00412a43
push eax
push edi
mov dword [esi + 0x200], eax
call fcn.004129f5
test eax, eax
pop ecx
pop ecx
jne 0x607f56
push dword [esi + 0x200]
push edi
call fcn.004129f5
pop ecx
inc eax
pop ecx
mov edx, edi
mov ecx, eax
call fcn.00412a43
mov dword [esi + 0x200], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc