Function at 0x10056fc0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x194
xor eax, eax
mov dword [esp + 0x17c], 0
mov dword [esp + 0x30], eax
xorps xmm0, xmm0
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x198]
push ebx
mov ebx, ecx
xor ecx, ecx
push edi
mov eax, dword [eax]
cdq
mov edi, dword [ebx + 0x1c]
xor eax, edx
sub eax, edx
mov dword [esp + 0x34], ecx
movzx eax, ax
mov edx, 0x1015de24
mov dword [esp + 0x20], eax
mov ecx, ebx
lea eax, [esp + 0x44]
mov dword [esp + 0x28], ebx
push eax
mov dword [esp + 0xc], edi
movups xmmword [esp + 0x190], xmm0
call fcn.1003ac80
test eax, eax
jne 0x10057085
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
push ebp
push esi
cmp eax, 0x774f4632
je 0x1005707e
mov edx, dword [esp + 0x54]
cmp edx, dword [ebx + 4]
jne 0x1005707e
mov ax, word [esp + 0x58]
mov dword [esp + 0x20], eax
test ax, ax
je 0x1005707e
movzx ebp, ax
lea eax, [ebp*4]
add eax, ebp
lea eax, [eax*4 + 0x30]
cmp eax, edx
jae 0x1005707e
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
test ecx, ecx
jne 0x10057090
test esi, esi
jne 0x1005707e
cmp dword [esp + 0x6c], esi
je 0x1005709b
pop esi
mov eax, 8
pop ebp
pop edi
pop ebx
add esp, 0x194
ret 8
test esi, esi
je 0x1005709b
cmp dword [esp + 0x6c], 0
je 0x1005707e
cmp ecx, edx
jae 0x1005707e
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x1005707e
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
test ecx, ecx
jne 0x100570b7
test esi, esi
jne 0x1005707e
cmp ecx, edx
jae 0x1005707e
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x1005707e
xor eax, eax
mov edx, 0x20
mov dword [esp + 0x18], eax
mov ecx, edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 0
push ebp
push 0
call fcn.1003b010
mov esi, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x44], ecx
test esi, esi
jne 0x10057d11
test ecx, ecx
je 0x10057114
test ebp, ebp
je 0x10057114
mov eax, ebp
shl eax, 5
push eax
push esi
push ecx
call fcn.1011df10
add esp, 0xc
test esi, esi
jne 0x10057d11
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
push esi
push ebp
push esi
lea edx, [esi + 4]
mov ecx, edi
call fcn.1003b010
mov esi, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x14], edx
test esi, esi
jne 0x1005715e
test edx, edx
je 0x1005715e
test ebp, ebp
je 0x1005715e
lea eax, [ebp*4]
push eax
push esi
push edx
call fcn.1011df10
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x10057d08
mov dword [esp + 0x24], esi
test ebp, ebp
je 0x10057587
mov edi, dword [esp + 0x44]
add edi, 4
mov eax, dword [ebx + 0x14]
mov esi, 0x100
mov edx, dword [ebx + 8]
mov byte [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
test eax, eax
je 0x100571b6
push 1
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
call eax
cmp eax, 1
jne 0x100575c1
mov edx, dword [ebx + 8]
mov cl, byte [esp + 0x2c]
jmp 0x100571c4
cmp edx, dword [ebx + 4]
jae 0x100575c1
mov eax, dword [ebx]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [ebx + 8], eax
mov al, cl
and al, 0x3f
mov byte [edi - 4], cl
cmp al, 0x3f
jne 0x100571fb
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1003ac00
mov esi, dword [esp + 0x1c]
mov dword [edi], eax
test esi, esi
jne 0x100575b6
mov cl, byte [edi - 4]
mov esi, 0x100
jmp 0x100574cc
mov dword [esp + 0x90], 0x636d6170
mov dword [esp + 0x94], 0x68656164
mov dword [esp + 0x98], 0x68686561
mov dword [esp + 0x9c], 0x686d7478
mov dword [esp + 0xa0], 0x6d617870
mov dword [esp + 0xa4], 0x6e616d65
mov dword [esp + 0xa8], 0x4f532f32
mov dword [esp + 0xac], 0x706f7374
mov dword [esp + 0xb0], 0x63767420
mov dword [esp + 0xb4], 0x6670676d
mov dword [esp + 0xb8], 0x676c7966
mov dword [esp + 0xbc], 0x6c6f6361
mov dword [esp + 0xc0], 0x70726570
mov dword [esp + 0xc4], 0x43464620
mov dword [esp + 0xc8], 0x564f5247
mov dword [esp + 0xcc], 0x45424454
mov dword [esp + 0xd0], 0x45424c43
mov dword [esp + 0xd4], 0x67617370
mov dword [esp + 0xd8], 0x68646d78
mov dword [esp + 0xdc], 0x6b65726e
mov dword [esp + 0xe0], 0x4c545348
mov dword [esp + 0xe4], 0x50434c54
mov dword [esp + 0xe8], 0x56444d58
mov dword [esp + 0xec], 0x76686561
mov dword [esp + 0xf0], 0x766d7478
mov dword [esp + 0xf4], 0x42415345
mov dword [esp + 0xf8], 0x47444546
mov dword [esp + 0xfc], 0x47504f53
mov dword [esp + 0x100], 0x47535542
mov dword [esp + 0x104], 0x45425343
mov dword [esp + 0x108], 0x4a535446
mov dword [esp + 0x10c], 0x4d415448
mov dword [esp + 0x110], 0x43424454
mov dword [esp + 0x114], 0x43424c43
mov dword [esp + 0x118], 0x434f4c52
mov dword [esp + 0x11c], 0x4350414c
mov dword [esp + 0x120], 0x53564720
mov dword [esp + 0x124], 0x73626978
mov dword [esp + 0x128], 0x61636e74
mov dword [esp + 0x12c], 0x61766172
mov dword [esp + 0x130], 0x62646174
mov dword [esp + 0x134], 0x626c6f63
mov dword [esp + 0x138], 0x62736c6e
mov dword [esp + 0x13c], 0x63766172
mov dword [esp + 0x140], 0x66647363
mov dword [esp + 0x144], 0x66656174
mov dword [esp + 0x148], 0x666d7478
mov dword [esp + 0x14c], 0x66766172
mov dword [esp + 0x150], 0x67766172
mov dword [esp + 0x154], 0x68737479
mov dword [esp + 0x158], 0x6a757374
mov dword [esp + 0x15c], 0x6c636172
mov dword [esp + 0x160], 0x6d6f7274
mov dword [esp + 0x164], 0x6d6f7278
mov dword [esp + 0x168], 0x6f706264
mov dword [esp + 0x16c], 0x70726f70
mov dword [esp + 0x170], 0x7472616b
mov dword [esp + 0x174], 0x5a617066
mov dword [esp + 0x178], 0x53696c66
mov dword [esp + 0x17c], 0x476c6174
mov dword [esp + 0x180], 0x476c6f63
mov dword [esp + 0x184], 0x46656174
mov dword [esp + 0x188], 0x53696c6c
cmp al, 0x3e
ja 0x100575ab
movzx eax, al
mov eax, dword [esp + eax*4 + 0x90]
mov dword [edi], eax
test eax, eax
je 0x100575b1
xor ebx, ebx
shr cl, 6
cmp eax, 0x676c7966
je 0x100574ea
cmp eax, 0x6c6f6361
je 0x100574ea
test cl, cl
je 0x100574ef
mov ebx, 0x100
jmp 0x100574ef
test cl, cl
cmove ebx, esi
movzx eax, cl
lea edx, [edi + 4]
mov ecx, dword [esp + 0x30]
or ebx, eax
call fcn.10056e90
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x100575b6
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
test ebx, 0x100
je 0x10057543
mov ecx, dword [esp + 0x30]
lea edx, [edi + 8]
call fcn.10056e90
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x100575b6
cmp dword [edi], 0x6c6f6361
jne 0x10057543
cmp dword [edi + 8], eax
jne 0x100575b1
mov edx, dword [esp + 0x3c]
mov eax, dword [edi + 8]
lea ecx, [eax + edx]
cmp ecx, edx
jb 0x100575b1
mov dword [edi + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x14], eax
lea eax, [edi - 4]
mov dword [edi + 0xc], ebx
add edi, 0x20
mov ebx, dword [esp + 0x30]
mov dword [edx + ecx*4], eax
inc ecx
mov eax, dword [esp + 0x20]
movzx ebp, ax
mov dword [esp + 0x24], ecx
cmp ecx, ebp
jl 0x1005717d
mov eax, dword [edx + ebp*4 - 4]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [esp + 0x78], eax
cmp eax, ecx
jae 0x100575d5
mov ebp, dword [esp + 0x10]
mov esi, 8
xor edi, edi
jmp 0x10057812
mov dword [edi], 0
mov esi, 8
mov ebp, dword [esp + 0x10]
xor edi, edi
jmp 0x10057812
mov ebp, dword [esp + 0x10]
mov esi, 0x55
mov byte [edi - 4], 0
xor edi, edi
jmp 0x10057812
mov eax, 1
xor esi, esi
cmp dword [esp + 0x34], 0x74746366
mov word [esp + 0x84], ax
jne 0x1005790e
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1003ac00
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
test esi, esi
jne 0x100575b6
cmp eax, 0x10000
je 0x1005762a
cmp eax, 0x20000
je 0x1005762a
mov ebp, dword [esp + 0x10]
mov esi, 8
xor edi, edi
jmp 0x10057812
lea edx, [esp + 0x84]
mov ecx, ebx
call fcn.10056d30
mov ebp, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x100578fe
cmp word [esp + 0x84], ax
jne 0x10057663
mov ecx, dword [esp + 0x8c]
lea esi, [eax + 8]
mov dword [esp + 0x18], ecx
jmp 0x1005780e
movzx edi, word [esp + 0x84]
lea eax, [esp + 0x24]
push eax
push 0
push edi
push 0
mov edx, 0xc
mov dword [esp + 0x34], 0
mov ecx, ebp
call fcn.1003b010
mov esi, dword [esp + 0x24]
mov ecx, eax
mov dword [esp + 0x18], ecx
test esi, esi
jne 0x100576b4
test ecx, ecx
je 0x100576b4
test edi, edi
je 0x100576b4
lea eax, [edi + edi*2]
shl eax, 2
push eax
push esi
push ecx
call fcn.1011df10
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1005780e
mov dword [esp + 0x3c], esi
test edi, edi
je 0x100578e0
movzx eax, word [esp + 0x58]
lea ebp, [ecx + 4]
mov dword [esp + 0x20], eax
nop dword [eax + eax]
mov edx, ebp
mov ecx, ebx
call fcn.10056d30
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1005780a
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1003ac00
mov esi, dword [esp + 0x1c]
mov dword [ebp - 4], eax
test esi, esi
jne 0x1005780a
movzx ebx, word [ebp]
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0x10]
lea edx, [esi + 2]
push eax
push esi
push ebx
push esi
mov dword [esp + 0x34], esi
call fcn.1003b010
mov esi, dword [esp + 0x24]
mov edi, eax
test esi, esi
jne 0x1005774d
test edi, edi
je 0x1005774d
test ebx, ebx
je 0x1005774d
lea eax, [ebx + ebx]
push eax
push esi
push edi
call fcn.1011df10
add esp, 0xc
mov dword [esp + 0x1c], esi
mov dword [ebp + 4], edi
test esi, esi
jne 0x1005780a
xor edi, edi
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x24], edi
cmp ax, word [ebp]
jae 0x100577e0
nop dword [eax]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2c]
call fcn.10056d30
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1005780a
mov cx, word [esp + 0x2c]
cmp cx, word [esp + 0x20]
jae 0x10057805
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov word [eax + ebx*2], cx
movzx ecx, cx
mov eax, dword [edx + ecx*4]
mov eax, dword [eax + 4]
cmp eax, 0x6c6f6361
jne 0x100577b8
mov dword [esp + 0x24], ecx
jmp 0x100577c4
cmp eax, 0x676c7966
cmove edi, ecx
mov ecx, dword [esp + 0x24]
movzx eax, word [ebp]
inc ebx
cmp ebx, eax
jb 0x10057770
test edi, edi
jne 0x100577d5
test ecx, ecx
je 0x100577e0
cmp edi, ecx
ja 0x10057805
sub ecx, edi
cmp ecx, 1
jne 0x10057805
mov edi, dword [esp + 0x3c]
add ebp, 0xc
movzx eax, word [esp + 0x84]
inc edi
mov dword [esp + 0x3c], edi
cmp edi, eax
jge 0x100578cb
mov ebx, dword [esp + 0x30]
jmp 0x100576e0
mov esi, 8
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10057827
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
test ebx, ebx
je 0x10057834
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10057845
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
mov dword [esp + 0x194], 0
test edi, edi
je 0x1005788b
movzx ebx, word [esp + 0x84]
test ebx, ebx
je 0x10057882
add edi, 8
mov edx, dword [edi]
test edx, edx
je 0x10057870
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov dword [edi], 0
add edi, 0xc
sub ebx, 1
jne 0x10057863
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, edi
mov ecx, ebp
call eax
test esi, esi
je 0x100578bc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100578a0
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x100578bc
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100578b3
mov ecx, ebx
call eax
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x194
ret 8
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x34], eax
jmp 0x10057914
mov bx, word [esp + 0x58]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], eax
jmp 0x10057918
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x18], edi
jmp 0x10057812
xor edi, edi
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x54]
add ecx, 3
add ecx, dword [ebp + 8]
and ecx, 0xfffffffc
cmp ecx, edx
jbe 0x1005793f
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x10057812
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10057965
cmp ecx, eax
je 0x10057959
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x10057812
mov ecx, dword [esp + 0x68]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1005798b
cmp ecx, eax
je 0x1005797f
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x10057812
mov ecx, dword [esp + 0x74]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
lea eax, [edx + 3]
and eax, 0xfffffffc
cmp ecx, eax
je 0x100579a3
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x10057812
mov eax, dword [esp + 0x1ac]
movzx ecx, word [esp + 0x84]
mov dword [eax], ecx
mov eax, dword [esp + 0x1a8]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
dec eax
test edx, edx
cmovns eax, dword [esp + 0x28]
cmp eax, ecx
jl 0x100579e1
test edx, edx
js 0x100579df
mov ebp, dword [esp + 0x10]
mov esi, 6
jmp 0x10057812
xor eax, eax
test esi, esi
je 0x10057b2c
mov ecx, dword [esp + 0x10]
lea eax, [eax + eax*2]
movzx ebx, word [edi + eax*4 + 4]
lea edi, [edi + eax*4]
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push 0
push ebx
push 0
mov edx, 4
call fcn.1003b010
mov esi, dword [esp + 0x28]
mov ebp, eax
test esi, esi
jne 0x1005780a
test ebp, ebp
je 0x10057a3c
test ebx, ebx
je 0x10057a3c
lea eax, [ebx*4]
push eax
push esi
push ebp
call fcn.1011df10
add esp, 0xc
test esi, esi
jne 0x1005780a
movzx eax, word [edi + 4]
xor ecx, ecx
cmp si, ax
mov edx, eax
mov esi, dword [esp + 0x14]
jae 0x10057a6c
mov eax, dword [edi + 8]
movzx eax, word [eax + ecx*2]
mov eax, dword [esi + eax*4]
mov dword [ebp + ecx*4], eax
inc ecx
movzx edx, word [edi + 4]
cmp ecx, edx
jl 0x10057a55
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
movzx ebx, dx
mov edx, 4
push esi
movzx eax, ax
push ebx
push eax
mov dword [esp + 0x38], 0
call fcn.1003b010
mov esi, dword [esp + 0x28]
mov edx, eax
mov dword [esp + 0x14], edx
test esi, esi
jne 0x10057ac4
test edx, edx
je 0x10057ac4
mov ecx, dword [esp + 0x20]
movzx eax, cx
cmp ebx, eax
jbe 0x10057ac4
sub ebx, eax
lea eax, [edx + eax*4]
shl ebx, 2
push ebx
push esi
push eax
call fcn.1011df10
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1005780a
movzx eax, word [edi + 4]
xor edx, edx
mov ecx, eax
cmp si, ax
jae 0x10057af9
mov ecx, dword [esp + 0x14]
mov ebx, ebp
sub ebx, ecx
mov eax, dword [ebx + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
inc edx
movzx esi, word [edi + 4]
cmp edx, esi
jl 0x10057ae5
mov ecx, esi
movzx ebx, cx
mov dword [esp + 0x20], ebx
test ebp, ebp
je 0x10057b19
mov eax, dword [esp + 0x10]
mov edx, ebp
mov ecx, eax
mov eax, dword [eax + 8]
call eax
movzx ebx, word [edi + 4]
mov dword [esp + 0x20], ebx
mov eax, dword [edi]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], eax
mov word [esp + 0x58], bx
mov ecx, dword [esp + 0x5c]
movzx ebx, bx
shl ebx, 4
lea edi, [ebx + 0xc]
cmp ecx, edi
jbe 0x10057b5d
mov edx, dword [esp + 0x54]
mov eax, ecx
shr eax, 6
cmp eax, edx
jbe 0x10057b51
mov edi, edx
shl edi, 6
jmp 0x10057b53
mov edi, ecx
mov eax, 0x4000000
cmp edi, eax
cmovae edi, eax
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
mov edx, edi
call fcn.1003afa0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
test esi, esi
jne 0x1005780a
mov eax, dword [esp + 0x10]
lea edx, [esi + 0x28]
mov ecx, eax
mov esi, dword [eax + 4]
call esi
mov dword [esp + 0x38], eax
test eax, eax
jne 0x10057b9b
lea esi, [eax + 0x40]
jmp 0x1005780a
mov edx, dword [esp + 0x40]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x34]
mov esi, eax
movups xmmword [eax], xmm0
mov dword [esp + 0x1c], 0
movups xmmword [eax + 0x10], xmm0
mov dword [esp + 0x38], esi
movq qword [eax + 0x20], xmm0
mov eax, ecx
shr eax, 0x18
mov byte [edx], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [edx + 1], al
mov al, byte [esp + 0x50]
mov byte [edx + 2], cl
mov ecx, dword [esp + 0x20]
mov byte [edx + 3], al
test cx, cx
je 0x10057c44
movzx eax, cx
xor ecx, ecx
mov dword [esp + 0x38], esi
test eax, eax
je 0x10057bfb
mov dword [esp + 0x38], esi
inc ecx
shr eax, 1
jne 0x10057bf6
dec ecx
mov eax, 1
shl eax, cl
shl eax, 4
sub ebx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
shr eax, 8
mov byte [edx + 4], al
mov al, byte [esp + 0x58]
mov byte [edx + 5], al
mov eax, dword [esp + 0x28]
shr eax, 8
mov byte [edx + 6], al
mov eax, dword [esp + 0x28]
mov byte [edx + 7], al
mov eax, ecx
shr eax, 8
mov byte [edx + 8], al
mov eax, ebx
shr eax, 8
mov byte [edx + 9], cl
mov byte [edx + 0xa], al
mov byte [edx + 0xb], bl
mov ecx, dword [esp + 0x40]
mov edx, 0xc
call fcn.10056f20
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
push 0x10056540
push 4
movzx eax, cx
push eax
push ebx
call fcn.10128af0
mov edx, dword [esp + 0x88]
add esp, 0x10
cmp edx, 1
jae 0x10057c8c
mov esi, 8
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x10057816
cmp edx, edi
jbe 0x10057ca2
mov ebp, dword [esp + 0x10]
mov esi, 8
mov edi, dword [esp + 0x18]
jmp 0x10057816
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.1003afa0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
test esi, esi
jne 0x10057c7f
mov edx, dword [esp + 0x60]
mov ecx, ebp
call fcn.1003ab10
mov esi, eax
test esi, esi
jne 0x10057c7f
lea esi, [eax + 7]
cmp dword [ebp + 0x14], eax
je 0x10057ced
mov edx, dword [ebp]
mov eax, dword [ebp + 0x1c]
test edx, edx
je 0x10057ce6
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov dword [ebp], 0
mov edi, dword [esp + 0x18]
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
mov ebp, dword [esp + 0x10]
jmp 0x10057816
mov ebp, edi
xor edi, edi
jmp 0x10057812
mov ebp, edi
xor ebx, ebx
xor edi, edi
jmp 0x10057816