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

Disassembly:
push 0xffffffffffffffff
push 0x50dd47
mov eax, dword fs:[0]
push eax
sub esp, 0xd20
push ebx
push ebp
mov eax, dword [0x5416a0]
xor eax, esp
push eax
lea eax, [esp + 0xd2c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xd3c]
add ebp, 0x4a84
mov dword [esp + 0x44], 9
mov eax, dword [ebp]
cmp dword [ebp - 4], eax
mov dword [esp + 0x4c], eax
jbe 0x428971
call fcn.004973c8
mov eax, dword [ebp - 4]
cmp eax, dword [ebp]
lea ebx, [ebp - 8]
mov dword [esp + 0x78], eax
jbe 0x428989
call fcn.004973c8
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x4c]
push ecx
push ebx
push eax
push ebx
lea edx, [esp + 0x44]
push edx
call fcn.0042dd60
add ebp, 0x10
sub dword [esp + 0x44], 1
jne 0x428960
mov eax, dword [esp + 0x34]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x3c]
xor ebx, ebx
push edx
lea edx, [esp + 0xa0]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
call fcn.0042df90
mov ebp, dword [esp + 0xd3c]
lea eax, [esp + 0x34]
push eax
lea eax, [ebp + 0x4a8c]
mov dword [esp + 0xd38], ebx
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x428a1b
push eax
call fcn.00477ec6
add esp, 4
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x98]
mov dword [esp + 0x34], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xcc], eax
push edx
lea eax, [esp + 0x3c]
push eax
lea edx, [esp + 0xe0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], edi
call fcn.0042df90
lea ecx, [esp + 0x34]
push ecx
lea eax, [ebp + 0x4a9c]
mov dword [esp + 0xd38], 1
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x428af8
push eax
call fcn.00477ec6
add esp, 4
mov eax, 0x55555556
imul esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x220], eax
lea edx, [esi + esi]
mov eax, 0x55555556
imul edx
mov eax, dword [esp + 0x7c]
mov ebp, edx
mov dword [esp + 0x230], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x248], eax
shr ebp, 0x1f
add ebp, edx
lea edx, [edi + edi]
mov eax, 0x55555556
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x258], edx
mov dword [esp + 0x268], edx
mov edx, dword [esp + 0x34]
push edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x29c], eax
lea eax, [esp + 0x218]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x220], ecx
mov dword [esp + 0x228], ecx
mov dword [esp + 0x250], ecx
mov dword [esp + 0x258], ecx
mov dword [esp + 0x280], ecx
mov dword [esp + 0x288], ecx
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x2b0]
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x238], ebp
mov dword [esp + 0x240], ebp
mov dword [esp + 0x244], ebx
mov dword [esp + 0x248], esi
mov dword [esp + 0x250], ebx
mov dword [esp + 0x268], ebp
mov dword [esp + 0x270], ebp
mov dword [esp + 0x278], esi
mov dword [esp + 0x280], ebx
mov dword [esp + 0x28c], edi
mov dword [esp + 0x298], ebp
mov dword [esp + 0x29c], edi
mov dword [esp + 0x2a0], ebp
mov dword [esp + 0x2a8], esi
mov dword [esp + 0x2ac], edi
call fcn.0042df90
mov eax, dword [esp + 0xd3c]
lea edx, [esp + 0x34]
push edx
add eax, 0x4acc
mov dword [esp + 0xd38], 2
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x428ca8
push eax
call fcn.00477ec6
add esp, 4
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x114], ecx
push eax
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x3c]
push edx
lea edx, [esp + 0x140]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], esi
mov dword [esp + 0x100], ebp
mov dword [esp + 0x108], esi
mov dword [esp + 0x110], ebx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x128], ebp
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], ebp
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], edi
call fcn.0042df90
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4aac
mov dword [esp + 0xd38], 3
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x428db7
push eax
call fcn.00477ec6
add esp, 4
lea eax, [esi + esi*2]
cdq
and edx, 3
add eax, edx
mov ecx, eax
lea eax, [edi + edi*2]
cdq
and edx, 3
add eax, edx
mov ebp, eax
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x44], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c8], eax
sar ecx, 2
mov eax, esi
cdq
sar ebp, 2
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x204], ecx
mov dword [esp + 0x34], ebp
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x198]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f8], eax
push edx
lea eax, [esp + 0x58]
push eax
lea edx, [esp + 0x220]
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1dc], ebp
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebp
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x1f4], ebp
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x204], ebp
mov dword [esp + 0x20c], edi
mov dword [esp + 0x214], ebp
mov dword [esp + 0x218], esi
mov dword [esp + 0x21c], edi
call fcn.0042df90
mov eax, dword [esp + 0xd3c]
lea ecx, [esp + 0x50]
push ecx
add eax, 0x4abc
mov dword [esp + 0xd38], 4
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x428f3c
push eax
call fcn.00477ec6
add esp, 4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x2d4], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2ec], edx
mov dword [esp + 0x2f4], edx
mov dword [esp + 0x32c], edx
mov dword [esp + 0x334], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x2f8], ecx
mov ecx, dword [esp + 0x28]
push edx
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x328], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x310], ecx
mov dword [esp + 0x318], ecx
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x350]
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2c8], esi
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2dc], ebp
mov dword [esp + 0x2ec], ebp
mov dword [esp + 0x2fc], ebp
mov dword [esp + 0x308], esi
mov dword [esp + 0x30c], ebp
mov dword [esp + 0x310], ebx
mov dword [esp + 0x314], ebp
mov dword [esp + 0x31c], edi
mov dword [esp + 0x324], ebp
mov dword [esp + 0x32c], edi
mov dword [esp + 0x334], ebp
mov dword [esp + 0x33c], edi
mov dword [esp + 0x344], ebp
mov dword [esp + 0x348], esi
mov dword [esp + 0x34c], edi
call fcn.0042df90
mov eax, dword [esp + 0xd3c]
lea edx, [esp + 0x50]
push edx
add eax, 0x4adc
mov dword [esp + 0xd38], 5
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x4290c3
push eax
call fcn.00477ec6
add esp, 4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x410], ecx
mov dword [esp + 0x420], ecx
mov dword [esp + 0x430], ecx
mov dword [esp + 0x440], ecx
mov dword [esp + 0x448], ecx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x468], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40c], edx
mov dword [esp + 0x414], edx
mov dword [esp + 0x44c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x41c], eax
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x470], ecx
mov dword [esp + 0x478], ecx
mov dword [esp + 0x488], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x450], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x42c], eax
mov dword [esp + 0x434], eax
mov dword [esp + 0x45c], eax
mov dword [esp + 0x464], eax
mov dword [esp + 0x484], eax
mov dword [esp + 0x4bc], eax
mov dword [esp + 0x4c4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4ac], ecx
mov dword [esp + 0x4b4], ecx
push eax
mov dword [esp + 0x458], edx
mov dword [esp + 0x480], edx
mov dword [esp + 0x4a0], edx
mov dword [esp + 0x4a8], edx
lea ecx, [esp + 0x408]
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x4e0]
mov dword [esp + 0x410], ebx
mov dword [esp + 0x414], ebx
mov dword [esp + 0x424], ebx
mov dword [esp + 0x434], ebx
mov dword [esp + 0x444], ebx
mov dword [esp + 0x448], esi
mov dword [esp + 0x450], ebx
mov dword [esp + 0x46c], ebp
mov dword [esp + 0x478], esi
mov dword [esp + 0x480], ebx
mov dword [esp + 0x48c], ebp
mov dword [esp + 0x498], esi
mov dword [esp + 0x49c], ebp
mov dword [esp + 0x4a0], ebx
mov dword [esp + 0x4a4], ebp
mov dword [esp + 0x4ac], edi
mov dword [esp + 0x4b4], ebp
mov dword [esp + 0x4bc], edi
mov dword [esp + 0x4c4], ebp
mov dword [esp + 0x4cc], edi
mov dword [esp + 0x4d4], ebp
mov dword [esp + 0x4d8], esi
mov dword [esp + 0x4dc], edi
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4aec
mov dword [esp + 0xd38], 6
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x4292aa
push eax
call fcn.00477ec6
add esp, 4
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4dc], edx
mov dword [esp + 0x4e4], edx
mov dword [esp + 0x51c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x520], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x524], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x52c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x4e0], ecx
mov dword [esp + 0x4f0], ecx
mov dword [esp + 0x500], ecx
mov dword [esp + 0x510], ecx
mov dword [esp + 0x518], ecx
mov dword [esp + 0x528], ecx
mov dword [esp + 0x530], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x538], ecx
mov dword [esp + 0x548], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4ec], eax
mov dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x534], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x55c], ecx
mov dword [esp + 0x564], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4fc], eax
mov dword [esp + 0x504], eax
mov dword [esp + 0x53c], eax
mov dword [esp + 0x544], eax
mov dword [esp + 0x57c], eax
mov dword [esp + 0x584], eax
mov dword [esp + 0x5bc], eax
mov dword [esp + 0x5c4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x540], edx
mov dword [esp + 0x550], edx
mov dword [esp + 0x558], edx
mov dword [esp + 0x568], edx
mov dword [esp + 0x56c], ecx
mov dword [esp + 0x574], ecx
mov dword [esp + 0x578], edx
mov dword [esp + 0x588], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x5ac], ecx
mov dword [esp + 0x5b4], ecx
push eax
lea ecx, [esp + 0x4d8]
mov dword [esp + 0x4d8], ebx
mov dword [esp + 0x4dc], ebx
mov dword [esp + 0x4ec], ebx
mov dword [esp + 0x4fc], ebx
mov dword [esp + 0x50c], ebx
mov dword [esp + 0x510], esi
mov dword [esp + 0x518], ebx
mov dword [esp + 0x550], esi
mov dword [esp + 0x558], ebx
mov dword [esp + 0x564], ebp
mov dword [esp + 0x574], ebp
mov dword [esp + 0x584], ebp
mov dword [esp + 0x590], esi
mov dword [esp + 0x594], ebp
mov dword [esp + 0x598], ebx
mov dword [esp + 0x59c], ebp
mov dword [esp + 0x5a0], edx
mov dword [esp + 0x5a4], edi
mov dword [esp + 0x5a8], edx
mov dword [esp + 0x5ac], ebp
mov dword [esp + 0x5b4], edi
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5c4], edi
mov dword [esp + 0x5cc], ebp
mov dword [esp + 0x5d0], esi
mov dword [esp + 0x5d4], edi
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x5e0]
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4afc
mov dword [esp + 0xd38], 7
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x4294f9
push eax
call fcn.00477ec6
add esp, 4
mov eax, 0x66666667
imul esi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x66666667
imul edi
sar edx, 1
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x66666667
lea edx, [esi + esi]
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x72c], eax
mov dword [esp + 0x734], eax
mov eax, 0x66666667
lea edx, [esi + esi*2]
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x73c], eax
mov dword [esp + 0x744], eax
lea edx, [esi*4]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x74c], eax
mov dword [esp + 0x754], eax
mov eax, 0x66666667
lea edx, [edi + edi]
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x77c], edx
mov dword [esp + 0x784], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x714], ebx
mov dword [esp + 0x718], ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x71c], ecx
mov dword [esp + 0x720], ebp
mov dword [esp + 0x724], ecx
mov dword [esp + 0x728], ebx
mov dword [esp + 0x730], ebp
mov dword [esp + 0x738], ebx
mov dword [esp + 0x740], ebp
mov dword [esp + 0x748], ebx
mov dword [esp + 0x750], ebp
mov dword [esp + 0x758], ebx
mov dword [esp + 0x75c], esi
mov dword [esp + 0x760], ebp
mov dword [esp + 0x764], ebx
mov dword [esp + 0x768], ebp
mov dword [esp + 0x76c], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x770], eax
mov dword [esp + 0x774], ecx
mov dword [esp + 0x778], ebp
mov dword [esp + 0x780], eax
mov dword [esp + 0x788], ebp
mov dword [esp + 0x78c], edx
mov dword [esp + 0x790], eax
mov dword [esp + 0x794], edx
mov dword [esp + 0x798], ebp
mov edx, dword [esp + 0x20]
mov dword [esp + 0x79c], edx
mov dword [esp + 0x7a4], edx
mov dword [esp + 0x7a0], eax
mov dword [esp + 0x7b0], eax
mov dword [esp + 0x7b8], eax
mov eax, 0x66666667
lea edx, [edi + edi*2]
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7c8], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x7cc], edx
mov dword [esp + 0x7d4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7d8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7dc], edx
mov dword [esp + 0x7e4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7e8], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x7ec], edx
mov dword [esp + 0x7f4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7f8], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c0], eax
mov dword [esp + 0x7d0], eax
mov dword [esp + 0x7e0], eax
mov dword [esp + 0x7f0], eax
mov dword [esp + 0x800], eax
mov dword [esp + 0x808], eax
lea edx, [edi*4]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x818], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x81c], edx
mov dword [esp + 0x824], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x828], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x82c], edx
mov dword [esp + 0x834], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x838], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x83c], edx
mov dword [esp + 0x844], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x7a8], ebp
mov dword [esp + 0x7ac], esi
mov dword [esp + 0x7b4], ebx
mov dword [esp + 0x7bc], ecx
mov dword [esp + 0x7c4], ecx
mov dword [esp + 0x7fc], esi
mov dword [esp + 0x804], ebx
mov dword [esp + 0x80c], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x810], eax
mov dword [esp + 0x814], ecx
mov dword [esp + 0x820], eax
mov dword [esp + 0x830], eax
mov dword [esp + 0x840], eax
mov dword [esp + 0x848], edx
mov dword [esp + 0x84c], esi
mov dword [esp + 0x850], eax
mov dword [esp + 0x854], ebx
mov dword [esp + 0x858], eax
mov dword [esp + 0x85c], ecx
mov dword [esp + 0x860], edi
mov dword [esp + 0x864], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x86c], ecx
mov dword [esp + 0x874], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x87c], ecx
mov dword [esp + 0x884], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x868], eax
mov dword [esp + 0x878], eax
mov dword [esp + 0x888], eax
mov dword [esp + 0x898], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x88c], ecx
mov dword [esp + 0x894], ecx
push eax
lea ecx, [esp + 0x718]
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x8b0]
mov dword [esp + 0x87c], edi
mov dword [esp + 0x88c], edi
mov dword [esp + 0x89c], edi
mov dword [esp + 0x8a8], esi
mov dword [esp + 0x8ac], edi
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4b0c
mov dword [esp + 0xd38], 8
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x429916
push eax
call fcn.00477ec6
add esp, 4
mov eax, 0x2aaaaaab
imul esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2aaaaaab
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x8b0], eax
mov eax, 0x2aaaaaab
lea edx, [esi + esi]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [esp + 0x8bc], eax
mov dword [esp + 0x8c4], eax
mov dword [esp + 0x8c0], edx
mov eax, 0x2aaaaaab
lea edx, [esi + esi*2]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x8cc], eax
mov dword [esp + 0x8d4], eax
mov dword [esp + 0x8d0], edx
mov eax, 0x2aaaaaab
lea edx, [esi*4]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov dword [esp + 0x8dc], eax
mov dword [esp + 0x8e4], eax
mov dword [esp + 0x8e0], edx
lea edx, [esi + esi*4]
mov eax, 0x2aaaaaab
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x8ec], eax
mov dword [esp + 0x8f4], eax
mov dword [esp + 0x8f0], edx
mov dword [esp + 0x900], edx
mov dword [esp + 0x908], edx
mov eax, 0x2aaaaaab
lea edx, [edi + edi]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x8a4], ebx
mov dword [esp + 0x8a8], ebx
mov dword [esp + 0x8ac], ecx
mov dword [esp + 0x8b4], ecx
mov dword [esp + 0x8b8], ebx
mov dword [esp + 0x8c8], ebx
mov dword [esp + 0x8d8], ebx
mov dword [esp + 0x8e8], ebx
mov dword [esp + 0x8f8], ebx
mov dword [esp + 0x8fc], esi
mov dword [esp + 0x904], ebx
mov dword [esp + 0x90c], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x910], eax
mov dword [esp + 0x914], ecx
mov dword [esp + 0x918], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x91c], edx
mov dword [esp + 0x924], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x928], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x92c], edx
mov dword [esp + 0x934], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x938], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x93c], edx
mov dword [esp + 0x944], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x948], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x94c], edx
mov dword [esp + 0x954], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x958], edx
mov dword [esp + 0x920], eax
mov dword [esp + 0x930], eax
mov dword [esp + 0x940], eax
mov dword [esp + 0x950], eax
mov dword [esp + 0x960], eax
mov dword [esp + 0x968], eax
mov eax, 0x2aaaaaab
lea edx, [edi + edi*2]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x978], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x97c], edx
mov dword [esp + 0x984], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x988], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x98c], edx
mov dword [esp + 0x994], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x998], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x99c], edx
mov dword [esp + 0x9a4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x9a8], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x9ac], edx
mov dword [esp + 0x9b4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x970], eax
mov dword [esp + 0x980], eax
mov dword [esp + 0x990], eax
mov dword [esp + 0x9a0], eax
mov dword [esp + 0x9b0], eax
mov dword [esp + 0x9c0], eax
mov dword [esp + 0x9c8], eax
mov dword [esp + 0x9b8], edx
mov eax, 0x2aaaaaab
lea edx, [edi*4]
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9d8], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x95c], esi
mov dword [esp + 0x964], ebx
mov dword [esp + 0x96c], ecx
mov dword [esp + 0x974], ecx
mov dword [esp + 0x9bc], esi
mov dword [esp + 0x9c4], ebx
mov dword [esp + 0x9cc], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x9d0], eax
mov dword [esp + 0x9d4], ecx
mov dword [esp + 0x9dc], edx
mov dword [esp + 0x9e4], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9e8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x9ec], edx
mov dword [esp + 0x9f4], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9f8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x9fc], edx
mov dword [esp + 0xa04], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xa08], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xa0c], edx
mov dword [esp + 0xa14], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xa18], edx
mov dword [esp + 0x9e0], eax
mov dword [esp + 0x9f0], eax
mov dword [esp + 0xa00], eax
mov dword [esp + 0xa10], eax
mov dword [esp + 0xa20], eax
mov dword [esp + 0xa28], eax
lea edx, [edi + edi*4]
mov eax, 0x2aaaaaab
imul edx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa38], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xa3c], edx
mov dword [esp + 0xa44], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa48], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0xa4c], edx
mov dword [esp + 0xa54], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa58], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xa5c], edx
mov dword [esp + 0xa64], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa2c], ecx
mov dword [esp + 0xa34], ecx
mov dword [esp + 0xa8c], ecx
mov dword [esp + 0xa94], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa68], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xa9c], ecx
mov dword [esp + 0xaa4], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xa6c], edx
mov dword [esp + 0xa74], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xaac], ecx
mov dword [esp + 0xab4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa1c], esi
mov dword [esp + 0xa24], ebx
mov dword [esp + 0xa30], eax
mov dword [esp + 0xa40], eax
mov dword [esp + 0xa50], eax
mov dword [esp + 0xa60], eax
mov dword [esp + 0xa70], eax
mov dword [esp + 0xa78], edx
mov dword [esp + 0xa7c], esi
mov dword [esp + 0xa80], eax
mov dword [esp + 0xa84], ebx
mov dword [esp + 0xa88], eax
mov dword [esp + 0xa90], edi
mov dword [esp + 0xa98], eax
mov dword [esp + 0xaa0], edi
mov dword [esp + 0xaa8], eax
mov dword [esp + 0xab0], edi
mov dword [esp + 0xab8], eax
mov dword [esp + 0xabc], ecx
mov dword [esp + 0xac4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xac8], eax
mov dword [esp + 0xad8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xacc], ecx
mov dword [esp + 0xad4], ecx
push eax
lea ecx, [esp + 0x8a8]
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0xaf0]
mov dword [esp + 0xacc], edi
mov dword [esp + 0xadc], edi
mov dword [esp + 0xae8], esi
mov dword [esp + 0xaec], edi
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4b1c
mov dword [esp + 0xd38], 9
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x429edd
push eax
call fcn.00477ec6
add esp, 4
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x154], edx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x184], edx
push ecx
lea edx, [esp + 0x138]
mov dword [esp + 0x144], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x16c], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x18c], eax
push edx
lea eax, [esp + 0x58]
push eax
lea edx, [esp + 0x1a0]
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x164], ebx
mov dword [esp + 0x168], esi
mov dword [esp + 0x170], ebx
mov dword [esp + 0x17c], edi
mov dword [esp + 0x18c], edi
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], edi
call fcn.0042df90
mov eax, dword [esp + 0xd3c]
lea ecx, [esp + 0x50]
push ecx
add eax, 0x4b2c
mov dword [esp + 0xd38], 0xa
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x429fef
push eax
call fcn.00477ec6
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x34c], eax
mov dword [esp + 0x354], eax
lea eax, [esi + esi]
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x36c], edx
mov dword [esp + 0x374], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x38c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x390], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x394], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x3a0], edx
mov edx, dword [esp + 0x1c]
sar eax, 2
mov dword [esp + 0x3ac], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x3b0], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x35c], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a4], eax
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x350], ecx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x370], ecx
mov dword [esp + 0x380], ecx
mov dword [esp + 0x388], ecx
mov dword [esp + 0x398], ecx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3b4], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3ec], eax
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x3d8], ecx
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3f8], ecx
push eax
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3d8], edx
lea ecx, [esp + 0x348]
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x410]
mov dword [esp + 0x350], ebx
mov dword [esp + 0x354], ebx
mov dword [esp + 0x364], ebx
mov dword [esp + 0x374], ebx
mov dword [esp + 0x384], ebx
mov dword [esp + 0x388], esi
mov dword [esp + 0x390], ebx
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x3ec], edi
mov dword [esp + 0x3fc], edi
mov dword [esp + 0x408], esi
mov dword [esp + 0x40c], edi
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4b3c
mov dword [esp + 0xd38], 0xb
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x42a1da
push eax
call fcn.00477ec6
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5ec], edx
mov dword [esp + 0x5f4], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5fc], edx
mov dword [esp + 0x604], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60c], edx
mov dword [esp + 0x614], edx
mov dword [esp + 0x5dc], eax
mov dword [esp + 0x5e4], eax
mov dword [esp + 0x62c], eax
lea eax, [edi + edi]
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x5e0], ecx
mov dword [esp + 0x5f0], ecx
mov dword [esp + 0x600], ecx
mov dword [esp + 0x610], ecx
mov dword [esp + 0x620], ecx
mov dword [esp + 0x628], ecx
mov dword [esp + 0x634], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x638], ecx
mov dword [esp + 0x648], ecx
mov dword [esp + 0x658], ecx
mov dword [esp + 0x668], ecx
mov ecx, dword [esp + 0x4c]
sar eax, 2
mov dword [esp + 0x63c], edx
mov dword [esp + 0x644], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x67c], ecx
mov dword [esp + 0x684], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64c], edx
mov dword [esp + 0x654], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x68c], ecx
mov dword [esp + 0x694], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x65c], edx
mov dword [esp + 0x664], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x69c], ecx
mov dword [esp + 0x6a4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x5d4], ebx
mov dword [esp + 0x5d8], ebx
mov dword [esp + 0x5e8], ebx
mov dword [esp + 0x5f8], ebx
mov dword [esp + 0x608], ebx
mov dword [esp + 0x618], ebx
mov dword [esp + 0x61c], esi
mov dword [esp + 0x624], ebx
mov dword [esp + 0x630], eax
mov dword [esp + 0x640], eax
mov dword [esp + 0x650], eax
mov dword [esp + 0x660], eax
mov dword [esp + 0x66c], esi
mov dword [esp + 0x670], eax
mov dword [esp + 0x674], ebx
mov dword [esp + 0x678], eax
mov dword [esp + 0x680], edx
mov dword [esp + 0x688], eax
mov dword [esp + 0x690], edx
mov dword [esp + 0x698], eax
mov dword [esp + 0x6a0], edx
mov dword [esp + 0x6a8], eax
mov dword [esp + 0x6ac], ecx
mov dword [esp + 0x6b0], edx
mov dword [esp + 0x6b4], ecx
mov dword [esp + 0x6b8], eax
mov dword [esp + 0x6bc], esi
mov dword [esp + 0x6c0], edx
mov dword [esp + 0x6c4], ebx
mov dword [esp + 0x6c8], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x6cc], eax
mov dword [esp + 0x6d4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6dc], eax
mov dword [esp + 0x6e4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6ec], eax
mov dword [esp + 0x6f4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6fc], ecx
mov dword [esp + 0x704], ecx
push eax
mov dword [esp + 0x6dc], edx
mov dword [esp + 0x6ec], edx
mov dword [esp + 0x6fc], edx
mov dword [esp + 0x70c], edx
lea ecx, [esp + 0x5d8]
push ecx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x720]
mov dword [esp + 0x6dc], edi
mov dword [esp + 0x6ec], edi
mov dword [esp + 0x6fc], edi
mov dword [esp + 0x70c], edi
mov dword [esp + 0x718], esi
mov dword [esp + 0x71c], edi
call fcn.0042df90
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4b4c
mov dword [esp + 0xd38], 0xc
call fcn.0042dbe0
mov dword [esp + 0xd34], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x42a4b5
push eax
call fcn.00477ec6
add esp, 4
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x92492493
lea edx, [esi + esi]
imul edx
lea eax, [esi + esi]
add edx, eax
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0xafc], eax
mov dword [esp + 0xb04], eax
mov eax, 0x92492493
lea edx, [esi + esi*2]
imul edx
lea eax, [esi + esi*2]
add edx, eax
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xb0c], eax
mov dword [esp + 0xb14], eax
mov eax, 0x92492493
lea edx, [esi*4]
imul edx
lea eax, [esi*4]
add edx, eax
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0xb1c], eax
mov dword [esp + 0xb24], eax
mov eax, 0x92492493
lea edx, [esi + esi*4]
imul edx
lea eax, [esi + esi*4]
add edx, eax
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0xb2c], eax
mov dword [esp + 0xb34], eax
lea edx, [esi + esi*2]
add edx, edx
mov dword [esp + 0x34], edx
mov eax, 0x92492493
imul edx
add edx, dword [esp + 0x34]
mov dword [esp + 0xae4], ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xae8], ebx
mov dword [esp + 0xaec], ecx
mov dword [esp + 0xaf0], ebp
mov dword [esp + 0xaf4], ecx
mov dword [esp + 0xaf8], ebx
mov dword [esp + 0xb00], ebp
mov dword [esp + 0xb08], ebx
mov dword [esp + 0xb10], ebp
mov dword [esp + 0xb18], ebx
mov dword [esp + 0xb20], ebp
mov dword [esp + 0xb28], ebx
mov dword [esp + 0xb30], ebp
mov dword [esp + 0xb38], ebx
mov dword [esp + 0xb3c], eax
mov dword [esp + 0xb40], ebp
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb60], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xb6c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb70], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xb74], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xb7c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb80], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xb84], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb8c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb90], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb94], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb9c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xba0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xba4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xbb0], edx
mov dword [esp + 0xbc0], edx
mov dword [esp + 0xbc8], edx
mov dword [esp + 0xbd8], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xbdc], edx
mov dword [esp + 0xbe4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xbe8], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xbec], edx
mov dword [esp + 0xbf4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xbf8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xbfc], edx
mov dword [esp + 0xc04], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc08], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb50], ebp
mov dword [esp + 0xb58], ebp
mov dword [esp + 0xb68], ebp
mov dword [esp + 0xb78], ebp
mov dword [esp + 0xb88], ebp
mov dword [esp + 0xb98], ebp
mov dword [esp + 0xba8], ebp
mov dword [esp + 0xbb8], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc0c], edx
mov dword [esp + 0xc14], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb44], eax
mov dword [esp + 0xb48], ebx
mov dword [esp + 0xb4c], esi
mov dword [esp + 0xb54], ebx
mov dword [esp + 0xb5c], ecx
mov dword [esp + 0xb64], ecx
mov dword [esp + 0xbac], eax
mov dword [esp + 0xbb4], eax
mov dword [esp + 0xbbc], esi
mov dword [esp + 0xbc4], ebx
mov dword [esp + 0xbcc], ecx
mov dword [esp + 0xbd0], ebp
mov dword [esp + 0xbd4], ecx
mov dword [esp + 0xbe0], ebp
mov dword [esp + 0xbf0], ebp
mov dword [esp + 0xc00], ebp
mov dword [esp + 0xc10], ebp
mov dword [esp + 0xc18], edx
mov dword [esp + 0xc1c], eax
mov dword [esp + 0xc20], ebp
mov dword [esp + 0xc24], eax
mov dword [esp + 0xc28], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc40], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc4c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc50], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc54], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc5c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc60], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc64], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc6c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc70], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc3c], ecx
mov dword [esp + 0xc44], ecx
mov dword [esp + 0xcac], ecx
mov dword [esp + 0xcb4], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc74], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xcbc], ecx
mov dword [esp + 0xcc4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc7c], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xccc], ecx
mov dword [esp + 0xcd4], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc80], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xcdc], ecx
mov dword [esp + 0xce4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc84], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc8c], eax
mov dword [esp + 0xc94], eax
mov dword [esp + 0xcfc], eax
mov dword [esp + 0xd04], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xcec], ecx
mov dword [esp + 0xcf4], ecx
push eax
lea ecx, [esp + 0xae8]
mov dword [esp + 0xc94], edx
mov dword [esp + 0xca4], edx
mov dword [esp + 0xcac], edx
mov dword [esp + 0xcbc], edx
mov dword [esp + 0xccc], edx
mov dword [esp + 0xcdc], edx
mov dword [esp + 0xcec], edx
mov dword [esp + 0xcfc], edx
mov dword [esp + 0xd0c], edx
mov dword [esp + 0xc30], esi
mov dword [esp + 0xc34], ebp
mov dword [esp + 0xc38], ebx
mov dword [esp + 0xc3c], ebp
mov dword [esp + 0xc4c], ebp
mov dword [esp + 0xc5c], ebp
mov dword [esp + 0xc6c], ebp
mov dword [esp + 0xc7c], ebp
mov dword [esp + 0xc8c], ebp
mov dword [esp + 0xc9c], ebp
mov dword [esp + 0xca0], esi
mov dword [esp + 0xca8], ebx
mov dword [esp + 0xcb4], edi
mov dword [esp + 0xcc4], edi
mov dword [esp + 0xcd4], edi
mov dword [esp + 0xce4], edi
mov dword [esp + 0xcf4], edi
mov dword [esp + 0xd04], edi
mov dword [esp + 0xd10], esi
mov dword [esp + 0xd14], edi
push ecx
lea edx, [esp + 0xd20]
push edx
lea edx, [esp + 0xd20]
call fcn.0042df90
lea eax, [esp + 0xd18]
push eax
mov eax, dword [esp + 0xd40]
add eax, 0x4b5c
mov dword [esp + 0xd38], 0xd
call fcn.0042dbe0
mov eax, dword [esp + 0xd1c]
cmp eax, ebx
je 0x42aa33
push eax
call fcn.00477ec6
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xd2c]
mov dword fs:[0], ecx
pop ecx
pop ebp
pop ebx
add esp, 0xd2c
ret 4