Function at 0x10029a90
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, 0x10137250
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.1000d730
test eax, eax
jne 0x10029b55
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
push ebp
push esi
cmp eax, 0x774f4632
je 0x10029b4e
mov edx, dword [esp + 0x54]
cmp edx, dword [ebx + 4]
jne 0x10029b4e
mov ax, word [esp + 0x58]
mov dword [esp + 0x20], eax
test ax, ax
je 0x10029b4e
movzx ebp, ax
lea eax, [ebp*4]
add eax, ebp
lea eax, [eax*4 + 0x30]
cmp eax, edx
jae 0x10029b4e
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
test ecx, ecx
jne 0x10029b60
test esi, esi
jne 0x10029b4e
cmp dword [esp + 0x6c], esi
je 0x10029b6b
pop esi
mov eax, 8
pop ebp
pop edi
pop ebx
add esp, 0x194
ret 8
test esi, esi
je 0x10029b6b
cmp dword [esp + 0x6c], 0
je 0x10029b4e
cmp ecx, edx
jae 0x10029b4e
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x10029b4e
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
test ecx, ecx
jne 0x10029b87
test esi, esi
jne 0x10029b4e
cmp ecx, edx
jae 0x10029b4e
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x10029b4e
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.1000dac0
mov esi, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x44], ecx
test esi, esi
jne 0x1002a7e1
test ecx, ecx
je 0x10029be4
test ebp, ebp
je 0x10029be4
mov eax, ebp
shl eax, 5
push eax
push esi
push ecx
call fcn.100fde00
add esp, 0xc
test esi, esi
jne 0x1002a7e1
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.1000dac0
mov esi, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x14], edx
test esi, esi
jne 0x10029c2e
test edx, edx
je 0x10029c2e
test ebp, ebp
je 0x10029c2e
lea eax, [ebp*4]
push eax
push esi
push edx
call fcn.100fde00
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a7d8
mov dword [esp + 0x24], esi
test ebp, ebp
je 0x1002a057
mov edi, dword [esp + 0x44]
add edi, 4
mov eax, dword [ebx + 0x14]
mov esi, pe_nt_image_headers32
mov edx, dword [ebx + 8]
mov byte [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
test eax, eax
je 0x10029c86
push 1
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
call eax
cmp eax, 1
jne 0x1002a091
mov edx, dword [ebx + 8]
mov cl, byte [esp + 0x2c]
jmp 0x10029c94
cmp edx, dword [ebx + 4]
jae 0x1002a091
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 0x10029ccb
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1000d6b0
mov esi, dword [esp + 0x1c]
mov dword [edi], eax
test esi, esi
jne 0x1002a086
mov cl, byte [edi - 4]
mov esi, pe_nt_image_headers32
jmp 0x10029f9c
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 0x1002a07b
movzx eax, al
mov eax, dword [esp + eax*4 + 0x90]
mov dword [edi], eax
test eax, eax
je 0x1002a081
xor ebx, ebx
shr cl, 6
cmp eax, 0x676c7966
je 0x10029fba
cmp eax, 0x6c6f6361
je 0x10029fba
test cl, cl
je 0x10029fbf
mov ebx, pe_nt_image_headers32
jmp 0x10029fbf
test cl, cl
cmove ebx, esi
movzx eax, cl
lea edx, [edi + 4]
mov ecx, dword [esp + 0x30]
or ebx, eax
call fcn.10029960
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a086
mov eax, dword [edi + 4]
mov dword [edi + 8], eax
test ebx, 0x100
je 0x1002a013
mov ecx, dword [esp + 0x30]
lea edx, [edi + 8]
call fcn.10029960
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a086
cmp dword [edi], 0x6c6f6361
jne 0x1002a013
cmp dword [edi + 8], eax
jne 0x1002a081
mov edx, dword [esp + 0x3c]
mov eax, dword [edi + 8]
lea ecx, [eax + edx]
cmp ecx, edx
jb 0x1002a081
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 0x10029c4d
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 0x1002a0a5
mov ebp, dword [esp + 0x10]
mov esi, 8
xor edi, edi
jmp 0x1002a2e2
mov dword [edi], 0
mov esi, 8
mov ebp, dword [esp + 0x10]
xor edi, edi
jmp 0x1002a2e2
mov ebp, dword [esp + 0x10]
mov esi, 0x55
mov byte [edi - 4], 0
xor edi, edi
jmp 0x1002a2e2
mov eax, 1
xor esi, esi
cmp dword [esp + 0x34], 0x74746366
mov word [esp + 0x84], ax
jne 0x1002a3de
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1000d6b0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
test esi, esi
jne 0x1002a086
cmp eax, 0x10000
je 0x1002a0fa
cmp eax, 0x20000
je 0x1002a0fa
mov ebp, dword [esp + 0x10]
mov esi, 8
xor edi, edi
jmp 0x1002a2e2
lea edx, [esp + 0x84]
mov ecx, ebx
call fcn.10029800
mov ebp, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x1002a3ce
cmp word [esp + 0x84], ax
jne 0x1002a133
mov ecx, dword [esp + 0x8c]
lea esi, [eax + 8]
mov dword [esp + 0x18], ecx
jmp 0x1002a2de
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.1000dac0
mov esi, dword [esp + 0x24]
mov ecx, eax
mov dword [esp + 0x18], ecx
test esi, esi
jne 0x1002a184
test ecx, ecx
je 0x1002a184
test edi, edi
je 0x1002a184
lea eax, [edi + edi*2]
shl eax, 2
push eax
push esi
push ecx
call fcn.100fde00
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a2de
mov dword [esp + 0x3c], esi
test edi, edi
je 0x1002a3b0
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.10029800
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a2da
lea edx, [esp + 0x1c]
mov ecx, ebx
call fcn.1000d6b0
mov esi, dword [esp + 0x1c]
mov dword [ebp - 4], eax
test esi, esi
jne 0x1002a2da
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.1000dac0
mov esi, dword [esp + 0x24]
mov edi, eax
test esi, esi
jne 0x1002a21d
test edi, edi
je 0x1002a21d
test ebx, ebx
je 0x1002a21d
lea eax, [ebx + ebx]
push eax
push esi
push edi
call fcn.100fde00
add esp, 0xc
mov dword [esp + 0x1c], esi
mov dword [ebp + 4], edi
test esi, esi
jne 0x1002a2da
xor edi, edi
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x24], edi
cmp ax, word [ebp]
jae 0x1002a2b0
nop dword [eax]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2c]
call fcn.10029800
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a2da
mov cx, word [esp + 0x2c]
cmp cx, word [esp + 0x20]
jae 0x1002a2d5
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 0x1002a288
mov dword [esp + 0x24], ecx
jmp 0x1002a294
cmp eax, 0x676c7966
cmove edi, ecx
mov ecx, dword [esp + 0x24]
movzx eax, word [ebp]
inc ebx
cmp ebx, eax
jb 0x1002a240
test edi, edi
jne 0x1002a2a5
test ecx, ecx
je 0x1002a2b0
cmp edi, ecx
ja 0x1002a2d5
sub ecx, edi
cmp ecx, 1
jne 0x1002a2d5
mov edi, dword [esp + 0x3c]
add ebp, 0xc
movzx eax, word [esp + 0x84]
inc edi
mov dword [esp + 0x3c], edi
cmp edi, eax
jge 0x1002a39b
mov ebx, dword [esp + 0x30]
jmp 0x1002a1b0
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 0x1002a2f7
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
test ebx, ebx
je 0x1002a304
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x1002a315
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
mov dword [esp + 0x194], 0
test edi, edi
je 0x1002a35b
movzx ebx, word [esp + 0x84]
test ebx, ebx
je 0x1002a352
add edi, 8
mov edx, dword [edi]
test edx, edx
je 0x1002a340
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov dword [edi], 0
add edi, 0xc
sub ebx, 1
jne 0x1002a333
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, edi
mov ecx, ebp
call eax
test esi, esi
je 0x1002a38c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1002a370
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x1002a38c
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1002a383
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 0x1002a3e4
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 0x1002a3e8
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x18], edi
jmp 0x1002a2e2
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 0x1002a40f
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x1002a2e2
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1002a435
cmp ecx, eax
je 0x1002a429
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x1002a2e2
mov ecx, dword [esp + 0x68]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1002a45b
cmp ecx, eax
je 0x1002a44f
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x1002a2e2
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 0x1002a473
mov ebp, dword [esp + 0x10]
mov esi, 8
jmp 0x1002a2e2
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 0x1002a4b1
test edx, edx
js 0x1002a4af
mov ebp, dword [esp + 0x10]
mov esi, 6
jmp 0x1002a2e2
xor eax, eax
test esi, esi
je 0x1002a5fc
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.1000dac0
mov esi, dword [esp + 0x28]
mov ebp, eax
test esi, esi
jne 0x1002a2da
test ebp, ebp
je 0x1002a50c
test ebx, ebx
je 0x1002a50c
lea eax, [ebx*4]
push eax
push esi
push ebp
call fcn.100fde00
add esp, 0xc
test esi, esi
jne 0x1002a2da
movzx eax, word [edi + 4]
xor ecx, ecx
cmp si, ax
mov edx, eax
mov esi, dword [esp + 0x14]
jae 0x1002a53c
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 0x1002a525
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.1000dac0
mov esi, dword [esp + 0x28]
mov edx, eax
mov dword [esp + 0x14], edx
test esi, esi
jne 0x1002a594
test edx, edx
je 0x1002a594
mov ecx, dword [esp + 0x20]
movzx eax, cx
cmp ebx, eax
jbe 0x1002a594
sub ebx, eax
lea eax, [edx + eax*4]
shl ebx, 2
push ebx
push esi
push eax
call fcn.100fde00
add esp, 0xc
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x1002a2da
movzx eax, word [edi + 4]
xor edx, edx
mov ecx, eax
cmp si, ax
jae 0x1002a5c9
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 0x1002a5b5
mov ecx, esi
movzx ebx, cx
mov dword [esp + 0x20], ebx
test ebp, ebp
je 0x1002a5e9
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 0x1002a62d
mov edx, dword [esp + 0x54]
mov eax, ecx
shr eax, 6
cmp eax, edx
jbe 0x1002a621
mov edi, edx
shl edi, 6
jmp 0x1002a623
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.1000da50
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
test esi, esi
jne 0x1002a2da
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 0x1002a66b
lea esi, [eax + 0x40]
jmp 0x1002a2da
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 0x1002a714
movzx eax, cx
xor ecx, ecx
mov dword [esp + 0x38], esi
test eax, eax
je 0x1002a6cb
mov dword [esp + 0x38], esi
inc ecx
shr eax, 1
jne 0x1002a6c6
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.100299f0
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
push 0x10029010
push 4
movzx eax, cx
push eax
push ebx
call fcn.10101cc0
mov edx, dword [esp + 0x88]
add esp, 0x10
cmp edx, 1
jae 0x1002a75c
mov esi, 8
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x1002a2e6
cmp edx, edi
jbe 0x1002a772
mov ebp, dword [esp + 0x10]
mov esi, 8
mov edi, dword [esp + 0x18]
jmp 0x1002a2e6
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.1000da50
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
test esi, esi
jne 0x1002a74f
mov edx, dword [esp + 0x60]
mov ecx, ebp
call fcn.1000d5c0
mov esi, eax
test esi, esi
jne 0x1002a74f
lea esi, [eax + 7]
cmp dword [ebp + 0x14], eax
je 0x1002a7bd
mov edx, dword [ebp]
mov eax, dword [ebp + 0x1c]
test edx, edx
je 0x1002a7b6
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 0x1002a2e6
mov ebp, edi
xor edi, edi
jmp 0x1002a2e2
mov ebp, edi
xor ebx, ebx
xor edi, edi
jmp 0x1002a2e6