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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov edi, ecx
mov eax, dword [ebp + 0xc]
cmp eax, 0x11
je 0x522dd4
cmp eax, 0x12
jne 0x5230c7
mov edi, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x20]
mov esi, 0x5c821aea
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x154], 0
lea eax, [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov eax, ebx
mov dword [esp + 0x158], 0x29
mov dword [esp + 0xc0], 0
test eax, eax
je 0x52321c
mov dword [esp + 0xf8], edi
add esi, 0xa37de51f
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x4c], eax
jmp 0x524100
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x5231ef
mov dword [esp + 0x14c], edx
mov edi, 0x6329253a
xor edi, 0x63292530
jmp 0x522e90
mov edx, 0x12
movzx ecx, bl
xor eax, eax
cmp ecx, 0x38
mov esi, 0
jne 0x522e65
cmp edx, 0xb
jne 0x523388
imul edx, edx
and edx, 3
cmp edx, 2
jb case.0x522ecc.18
jmp 0x523388
mov ecx, 0x12
mov bl, 0x16
mov edx, esi
imul edx, edx
and edx, 3
cmp edx, 2
adc esi, 0
mov edx, esi
and edx, 1
xor edx, esi
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp esi, edx
jb 0x522e50
cmp ecx, 3
jne case.0x522ecc.4
imul ecx, ecx
and ecx, 3
jmp 0x523010
cmp edi, 0xa
jne 0x522e10
mov bl, 0x16
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 4]
mov eax, 0x700002bb
lea edi, [ecx - 3]
cmp edi, 0x23
ja case.default.0x522ecc
mov dword [esp + 0x148], 5
mov edx, 0xb
mov ecx, 3
mov esi, 0x13
jmp dword [edi*4 + 0x7dbbd4]
mov bh, 0x42
mov eax, dword [ebp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x1f
mov ecx, dword [esp + 0x14c]
mov edx, dword [ebp + 0x14]
call fcn.00551210
test eax, eax
jne 0x522fc7
mov dword [esp + 0x148], 0x10
mov eax, dword [esp + 0x148]
cmp eax, 5
je case.0x522ecc.5
imul eax, eax
and eax, 3
cmp eax, 2
je case.0x522ecc.5
movzx eax, bh
cmp eax, 0xa
je 0x522fd6
mov edx, 0x15
cmp eax, 0x18
jne case.0x522ecc.6
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x20
xor edx, edx
mov ecx, dword [ebp + 0x1c]
call fcn.00551210
test eax, eax
jne case.0x522ecc.4
mov dword [esp + 0x148], 0xe
mov bh, 0x42
mov eax, dword [esp + 0x148]
cmp eax, 5
mov ecx, eax
jne 0x522e10
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne case.0x522ecc.5
jmp 0x522e10
add ecx, 0xffffffcf
jmp 0x523010
cmp edx, 0xb
je case.0x522ecc.5
mov bh, 0x18
jmp 0x522fd8
mov esi, 0xa
cmp esi, 0xa
jne case.0x522ecc.5
jmp case.0x522ecc.4
mov bh, 0xa
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x20
xor edx, edx
mov ecx, dword [ebp + 0x1c]
call fcn.00551210
jmp 0x5230ba
cmp ecx, 2
jae case.0x522ecc.4
mov edi, 0xd
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov edx, 0x27
mov ecx, dword [esp + 0x14c]
call fcn.00589f50
test eax, eax
je 0x522e90
jmp case.0x522ecc.4
mov eax, dword [ebp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
mov edx, 0x10
mov ecx, dword [ebp + 0x10]
call fcn.0058fa80
test eax, eax
je 0x522e10
jmp case.0x522ecc.4
mov dword [esp + 0x190], 0
mov dword [esp + 0x18c], 0
lea eax, [esp + 0x18c]
mov dword [esp + 4], eax
lea eax, [esp + 0x190]
mov dword [esp], eax
call fcn.00449120
mov esi, 0x700002bb
test eax, eax
jne 0x5233f1
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x13
mov dword [esp + 0xc], 0x17
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00551d40
mov esi, eax
test esi, esi
jne 0x5233f1
mov al, 0x4a
movzx eax, al
cmp eax, 0x4a
jne 0x52338c
mov ebx, 0xffffffff
jmp 0x5231e5
call fcn.00449410
mov dword [esp + 0x188], eax
lea eax, [esp + 0x188]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x37
mov dword [esp + 0xc], 0x16
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00551d40
mov esi, eax
add ebx, 1
jb 0x523180
jmp 0x5233f1
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x1f
mov ecx, edx
mov edx, esi
call fcn.00551210
jmp case.0x522ecc.4
add esi, 0xa37de525
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x148], ebx
jmp 0x5236af
xor eax, eax
jmp case.0x522ecc.4
call fcn.00449410
mov dword [esp + 0x188], eax
lea eax, [esp + 0x188]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x37
mov dword [esp + 0xc], 0x16
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00551d40
mov esi, eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.004936c0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 5
mov edx, dword [ecx + 0x10]
add edi, 1
jb 0x523410
mov dword [esp + 0x144], esi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xc0], edx
jmp 0x524457
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x164], 4
mov dword [esp + 0x168], 2
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], 0xfffffffc
test eax, eax
je 0x5234c4
lea eax, [esp + 0x178]
mov dword [esp + 8], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
lea eax, [esp + 0x164]
mov dword [esp], eax
call fcn.00593400
test eax, eax
je 0x5234dc
mov dword [esp + 0xc0], esi
jmp 0x523701
mov dword [esp + 0x124], edi
mov dword [esp + 0xc0], esi
mov edi, 0x19
jmp 0x5235c5
mov dword [esp + 0x124], edi
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x178]
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
lea ecx, [edi + edi*2]
mov dword [esp + 0x12c], ecx
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x5235ad
mov dword [esp + 0x15c], eax
inc dword [esp + 0x160]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 3
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx + 4], 0xfffffffc
mov eax, dword [esp + 0x15c]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov ebx, eax
test ebx, ebx
je 0x5235b9
mov eax, 0x1a
test esi, esi
jne 0x523b13
jmp 0x523afc
mov edi, dword [esp + 0x124]
jmp 0x523701
mov edi, dword [esp + 0x124]
jmp 0x523701
cmp edi, 0xa
jne 0x523663
mov eax, dword [esp + 0x60]
lea eax, [eax + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], 0x40
call fcn.004959f0
mov eax, dword [esp + 0x150]
mov dword [esp + 0x148], eax
mov ebx, dword [eax]
mov edx, dword [ebx]
dec edx
cmp edx, 3
ja case.default.0x523622
mov dword [esp + 0x4c], ebx
mov ecx, 0xb
mov esi, 6
mov eax, 0x1a
mov edi, dword [esp + 0x124]
jmp dword [edx*4 + 0x7dbc64]
mov eax, 0x11
mov ecx, dword [esp + 0x14c]
mov dword [ecx], 0
mov ecx, dword [esp + 0x148]
mov dword [esp + 0xdc], ecx
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x11c]
jmp 0x523e2c
mov edi, dword [esp + 0x124]
jmp 0x523701
mov edi, 0xffffffff
jmp 0x523694
mov esi, 0x1b
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.00627900
add edi, 1
jb 0x523680
mov edi, dword [esp + 0xf8]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0xf8], edi
cmp esi, 0xf
mov eax, dword [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x118], edx
jne 0x5242ee
jmp 0x5244ab
mov dword [esp + 0x124], edi
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
call fcn.004936c0
call fcn.0044c050
mov dword [esp + 0x184], edx
mov dword [esp + 0x180], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x15c]
mov esi, dword [esp + 0x160]
lea ecx, [esi + esi*2]
mov dword [esp + 0x144], ecx
lea ecx, [ecx*8 + 0x18]
lea edx, [esp + 0x15c]
mov dword [esp + 0x88], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov ebx, eax
test ebx, ebx
je 0x5239cc
mov eax, 0xc
shl esi, 3
lea edi, [esi + esi*2]
jmp 0x523877
mov eax, 0x10
mov edx, dword [esp + 0xf8]
lea esi, [edx + 0x1c]
mov dword [esp + 0xb8], esi
lea esi, [edx + 0x14]
mov dword [esp + 0xf4], esi
lea esi, [edx + 0x4c]
mov dword [esp + 0xc8], esi
lea esi, [edx + 0xa0]
mov dword [esp + 0xd8], esi
lea esi, [edx + 0xa8]
mov dword [esp + 0xd4], esi
mov dword [esp + 0xe4], ecx
lea ecx, [edx + 0x48]
mov dword [esp + 0x14c], ecx
lea ecx, [edx + 0x90]
mov dword [esp + 0xbc], ecx
lea ecx, [edx + 0x98]
mov dword [esp + 0xa8], ecx
lea ecx, [edx + 0x9c]
mov dword [esp + 0xa4], ecx
lea ecx, [edx + 0x40]
mov dword [esp + 0xcc], ecx
lea ecx, [edx + 0x18]
mov dword [esp + 0xac], ecx
lea ecx, [edx + 0x2c]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
cmp eax, 0xc
jne 0x523a4c
mov dword [esp + 0x15c], ebx
inc dword [esp + 0x160]
mov dword [ebx + edi], 4
mov eax, dword [esp + 0x15c]
mov dword [eax + edi + 4], 0
mov eax, dword [esp + 0x15c]
mov byte [eax + edi + 8], 0
mov eax, dword [esp + 0x15c]
mov dword [eax + edi + 0xc], 0
mov eax, dword [esp + 0x15c]
mov dword [eax + edi + 0x10], 8
mov eax, dword [esp + 0x15c]
mov dword [eax + edi + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov esi, eax
test esi, esi
je 0x5239cc
lea eax, [esp + 0x180]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x144]
mov dword [eax + ecx*8 + 0x14], esi
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
lea ecx, [esp + 0x154]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x158]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0059a8d0
test eax, eax
jne 0x523a6d
mov ecx, dword [esp + 0x154]
cmp dword [ecx + 4], 0
jne 0x523790
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x124]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
jmp 0x52487b
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x11c]
mov ecx, 0xffffffff
nop word cs:[eax + eax]
add ecx, 1
mov eax, 0x70000003
jb 0x5239f0
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], esi
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x144], ecx
lea edx, [esp + 0x15c]
mov dword [esp + 0x110], edx
lea ebx, [esp + 0x160]
jmp 0x5248fa
mov edi, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
jmp 0x523b24
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x144], ecx
lea edx, [esp + 0x15c]
mov dword [esp + 0x110], edx
lea ebx, [esp + 0x160]
mov edi, dword [esp + 0x120]
jmp 0x5248fa
mov edi, 0xffffffff
jmp 0x523af7
mov dword [esp + 8], esi
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
add edi, 1
jb 0x523ae0
mov eax, 0xf
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x12c]
mov dword [ecx + edx*8 + 0x14], ebx
cmp eax, 0xf
jne 0x523ad4
mov edi, dword [esp + 0x124]
jmp 0x523701
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x110], edx
mov dword [esp + 0x11c], esi
mov esi, 4
mov edx, dword [esp + 0xe4]
lea eax, [edx + 8]
mov dword [esp + 0x5c], eax
mov ebx, dword [edx + 8]
imul edx, edi, 0x1c
mov eax, edi
mov edi, dword [ebx + edx + 4]
cmp edi, 1
jne 0x523bbe
mov dword [esp + 0x120], eax
mov eax, 6
cmp dword [ebx + edx + 0x14], 4
jne 0x523c1c
mov dword [esp + 0x58], edi
mov esi, 0xffffffff
mov edi, dword [esp + 0x124]
jmp 0x523bb7
mov eax, 0xc
mov edi, dword [ebx + edx + 0x18]
mov edi, dword [edi]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x130], ecx
add esi, 1
jb 0x523b90
jmp 0x523c27
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x108], eax
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x10c], edx
mov edi, dword [esp + 0x124]
jmp 0x524966
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x9c], 0x30000003
cmp eax, 6
mov dword [esp + 0x10c], edi
mov eax, dword [esp + 0x134]
mov dword [esp + 0x118], eax
mov edx, dword [esp + 0x130]
mov dword [esp + 0x114], edx
mov dword [esp + 0x12c], edi
mov dword [esp + 0x128], eax
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x94], edx
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x90], esi
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x98], ecx
mov edi, dword [esp + 0x120]
mov dword [esp + 0xec], edi
mov dword [esp + 0x84], edx
mov eax, esi
mov dword [esp + 0x80], ecx
jne 0x5246c1
jmp 0x524759
mov dword [esp + 0x124], edi
imul eax, dword [esp + 0x120], 0x1c
mov esi, dword [esp + 0x54]
mov edx, dword [esi + eax]
dec edx
cmp edx, 1
ja 0x523d81
add eax, esi
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 0x10], 0x1f
mov dword [esp + 0xc], 0
call fcn.00579030
test eax, eax
mov esi, dword [esp + 0x114]
mov edx, esi
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x11c], ebx
mov ecx, dword [esp + 0x10c]
mov edi, ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x144], esi
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x110], edi
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x120]
jne 0x5248fa
jmp 0x5246c1
mov dword [esp + 0x11c], 6
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov edi, dword [esp + 0x120]
jmp 0x524828
mov ecx, dword [esp + 0x58]
cmp ecx, 0x20
je 0x523dc8
cmp ecx, 0x41
jne 0x523dec
mov dword [esp + 0x114], 1
mov dword [esp + 0x118], edi
jmp 0x523dda
mov dword [esp + 0x118], 1
mov dword [esp + 0x114], esi
mov ecx, dword [esp + 0x10c]
mov edx, esi
mov esi, edi
mov edi, ebx
jmp 0x5246c1
mov eax, 0xe
cmp ecx, 0x17
mov dword [esp + 0x118], edi
mov dword [esp + 0x114], esi
mov ecx, dword [esp + 0x10c]
mov edx, ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x134], edi
mov dword [esp + 0x130], esi
mov edx, esi
mov esi, edi
mov edi, ebx
jne 0x5246c1
cmp eax, 0xe
mov eax, esi
mov esi, edx
mov ebx, eax
jne 0x523edc
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
imul ecx, edi, 0x1c
mov edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 0x18]
lea ecx, [esp + 0x150]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00627820
test eax, eax
je 0x523f04
mov ecx, 0xffffffff
nop dword [eax + eax]
add ecx, 1
mov eax, 0x700002bb
jb 0x523e80
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], ebx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x110], ecx
mov ebx, dword [esp + 0x8c]
jmp 0x5248fa
mov dword [esp + 0xec], edi
mov dword [esp + 0x144], esi
mov dword [esp + 0x128], ebx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x12c], eax
jmp 0x52427e
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x120], edi
mov edx, dword [esp + 0x150]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x523f32
mov eax, dword [eax]
mov ecx, dword [esp + 0xb0]
mov dword [ecx], eax
mov ecx, 0x17
mov esi, edx
mov dword [esp + 0x80], esi
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xb8]
mov dword [edx], eax
lea eax, [esi + 8]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x48], eax
test eax, eax
mov edi, dword [esp + 0x124]
je 0x524175
cmp ecx, 0xb
jne 0x523ffe
mov eax, 0xd
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x40], ecx
mov edx, dword [ecx + 8]
mov dword [esp + 0x3c], edx
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], 0
mov ecx, edx
or ecx, esi
mov dword [esp + 0x140], 0
je 0x524641
cmp eax, 0xd
jne 0x524066
mov dword [esp + 0x6c], 2
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
sub eax, dword [ecx]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
sbb eax, 0
mov dword [esp + 0x140], eax
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x11c]
jmp 0x52461a
mov ebx, edi
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
test ecx, ecx
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xac]
je 0x524042
mov edx, 0xffffffff
mov eax, dword [esp + 0x48]
jmp 0x52403d
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
add edx, 1
jb 0x524030
mov edx, dword [eax + 4]
test edx, edx
je 0x5240e9
mov ecx, 0xb
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov edi, ebx
jmp 0x52416c
mov dword [esp + 0x124], edi
mov eax, 0xffffffff
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x148]
jmp 0x5240b5
mov ecx, dword [ebx + 0x24]
mov ecx, dword [ecx + 4]
mov dword [edx], ecx
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov ecx, dword [ecx]
mov dword [esi], ecx
mov ecx, dword [esp + 0x14c]
mov dword [ecx], 3
mov dword [esp + 0xdc], edi
add eax, 1
jb 0x524090
mov eax, dword [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
jmp 0x523ef1
mov edi, ebx
mov esi, 0xe
mov ecx, dword [eax + 8]
test ecx, ecx
mov edx, eax
mov ebx, dword [esp + 0xf4]
je 0x524145
mov dword [esp + 0x124], edi
mov edi, 0xffffffff
cmp esi, 9
jne 0x524127
mov ecx, dword [ebp + 0x20]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x10c]
jmp 0x523418
mov esi, dword [esp + 0x84]
jmp 0x524139
mov edx, dword [ecx]
shl edx, 4
or dword [ebx], edx
mov edx, dword [esi]
add edi, 1
jb 0x524130
mov edi, dword [esp + 0x124]
mov ecx, 0x1b
mov edx, dword [edx + 0xc]
test edx, edx
je 0x524165
mov dword [esp + 0xf4], ebx
mov eax, dword [edx]
mov ecx, dword [esp + 0xcc]
mov dword [ecx], eax
jmp 0x524175
mov dword [esp + 0xf4], ebx
cmp ecx, 0xb
je 0x5240eb
mov dword [esp + 0x124], edi
mov ecx, edi
mov edi, 0xa
mov edx, 0x12
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
mov dword [esp + 0x60], eax
test eax, eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xdc], esi
jne 0x5235c5
cmp edx, 3
mov edx, ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x124], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x144], eax
mov edx, eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x128], eax
mov esi, eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x12c], ecx
je 0x524a15
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00627900
mov eax, dword [esp + 0xf4]
mov edi, dword [eax]
mov eax, dword [esp + 0xf8]
mov ebx, dword [eax]
cmp edi, 0x80
jb 0x52435f
mov esi, 0xffffffff
jmp 0x5242d4
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], str.Feature_0x_x_has_invalid_concurrency_type_0x_02x_n
call fcn.004414c0
add esi, 1
jb 0x5242c0
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
mov ebx, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x118], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x144], eax
mov dword [esp + 0x9c], 0x70000006
mov dword [esp + 0x120], 0xd
mov esi, dword [esp + 0xc0]
jmp 0x524599
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00411640
mov dword [esp + 0x9c], 0x70000006
test eax, eax
mov edi, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x90], ebx
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x98], esi
mov dword [esp + 0x84], ecx
mov eax, ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x124], esi
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x134], ebx
mov ebx, 0x18
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x6c]
jne 0x524672
jmp 0x524759
mov dword [esp + 0x144], 0xb
mov dword [esi], ebx
mov edx, dword [esp + 0x140]
mov dword [esi + 4], edx
mov eax, dword [esp + 0x148]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
mov edx, dword [edx]
mov dword [edi], edx
mov edx, dword [esp + 0x14c]
mov dword [edx], 2
add ecx, 1
jb 0x524410
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x10c], eax
cmp dword [esp + 0x144], 5
mov dword [esp + 0xec], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], esi
mov dword [esp + 0x144], edx
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], eax
jne 0x52427e
mov dword [esp + 0x6c], 9
mov dword [esp + 0x120], 0x1a
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ebp + 0x24]
lea edx, [esi + 0x1a0]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x1a0]
lea edi, [esi + 0x9c]
mov dword [esp + 0x68], edi
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x9c]
lea esi, [esi + 8]
mov dword [esp + 0xe8], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
lea eax, [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 2
call fcn.00508b80
mov dword [esp + 0x7c], eax
test eax, eax
mov edi, dword [esp + 0x124]
mov dword [esp + 0x12c], edi
mov eax, dword [esp + 0x134]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x144], eax
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x114]
mov ecx, ebx
mov edx, dword [esp + 0x118]
je 0x52461a
cmp dword [esp + 0x120], 0xd
jne 0x5245e7
mov dword [esp + 0xc0], esi
mov edi, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x80], ebx
jmp 0x524759
mov dword [esp + 0x114], ebx
mov dword [esp + 0xc0], esi
lea ebx, [esp + 0x160]
lea eax, [esp + 0x15c]
mov dword [esp + 0x110], eax
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0x7c]
jmp 0x5248fa
mov dword [esp + 0x11c], edx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x120], eax
cmp dword [esp + 0x6c], 2
jne 0x523437
mov dword [esp + 0xc0], esi
mov dword [esp + 0x124], edi
mov ecx, 0xffffffff
mov dword [esp + 0x144], eax
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0xdc]
jmp 0x524444
cmp ebx, 0xd
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x114], eax
mov edi, dword [esp + 0xec]
mov edx, dword [esp + 0x144]
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
je 0x52427e
mov dword [esp + 0x80], ecx
mov eax, esi
mov dword [esp + 0x84], edx
mov dword [esp + 0xec], edi
lea edi, [edi + 1]
mov ecx, dword [esp + 0x154]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x9c], 0
cmp edi, dword [ecx + 4]
mov esi, dword [esp + 0x10c]
mov ebx, esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x12c], esi
mov ecx, dword [esp + 0x118]
mov esi, ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x114]
mov edx, ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x144], ecx
mov ecx, ebx
jb 0x523b24
mov ebx, esi
mov esi, dword [esp + 0x98]
test esi, esi
mov dword [esp + 0x108], edi
mov dword [esp + 0x104], edx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], ecx
mov edi, dword [esp + 0xec]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
mov edx, eax
mov dword [esp + 0x11c], 3
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x110], eax
mov ebx, dword [esp + 0x8c]
mov eax, esi
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x124], esi
mov esi, dword [esp + 0x128]
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x144]
mov dword [esp + 0x130], esi
jne 0x5248fa
mov ebx, edi
mov edi, edx
cmp dword [esp + 0x11c], 3
mov esi, ecx
jne 0x523da6
mov dword [esp + 0x120], ebx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x144], eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov esi, 0xffffffff
mov edi, dword [esp + 0xf8]
mov ebx, dword [ebp + 0x24]
jmp 0x5248d2
mov dword [edi + 0x30], 0
mov ecx, dword [esp + 0x13c]
test ecx, ecx
setne al
movzx eax, al
shl eax, 2
mov dword [edi + 0x34], eax
mov dword [edi + 0x38], ecx
mov eax, dword [esp + 0x138]
mov dword [edi + 0x3c], eax
call fcn.0044c050
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0040fb90
add esi, 1
jb 0x524890
mov eax, dword [esp + 0x88]
mov dword [esp + 0x110], eax
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x120]
mov dword [esp + 0x120], edi
mov edx, 3
mov esi, 2
mov edi, dword [ebx]
mov dword [esp + 0xa0], edi
mov dword [esp + 0xb4], 0
test edi, edi
mov edi, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd0], eax
je 0x5241f8
cmp esi, 2
jne 0x523cc1
mov dword [esp + 0x124], edi
mov eax, dword [esp + 0x120]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov edi, dword [esp + 0xb4]
lea ecx, [edi + edi*2]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
je 0x5249c8
mov esi, 0x12
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
jmp 0x524a90
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x118], ebx
mov dword [esp + 0x114], edx
mov dword [esp + 0xa0], ecx
mov eax, edi
mov dword [esp + 0x70], eax
inc eax
mov dword [esp + 0xb4], eax
cmp eax, ecx
mov esi, ebx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x120]
jb 0x52497d
mov dword [esp + 0x11c], esi
mov dword [esp + 0x110], edx
mov dword [esp + 0x120], eax
mov esi, 0x15
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov edi, dword [esp + 0x154]
test edi, edi
je 0x524aa0
mov ebx, 0xffffffff
jmp 0x524a75
mov esi, 6
mov dword [esp], edi
mov dword [esp + 4], 0x2a
call fcn.0064bf00
add ebx, 1
jb 0x524a60
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x11c]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
cmp esi, 6
mov ecx, eax
jne 0x5249dd
jmp 0x524b26
mov edi, dword [esp + 0x124]
cmp esi, 6
jne 0x524b26
mov dword [esp + 0x124], edi
mov ebx, 0xd
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x28]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0xbc]
movsd qword [eax], xmm0
mov eax, dword [esp + 0x14c]
mov dword [eax], 1
mov eax, dword [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0xdc], eax
jmp 0x524672
mov eax, dword [esp + 0xd0]
jmp case.0x522ecc.4