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

Disassembly:
sub esp, 0x78
mov eax, dword [esp + 0x80]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x8c]
mov ebp, dword [edi]
mov ecx, dword [ebp + 8]
lea edx, [edi + 0x148]
mov dword [esp + 0x28], edx
lea edx, [eax + eax*4]
shl edx, 4
mov eax, dword [edx + edi + 0x320]
lea ebx, [edx + edi + 0x2e0]
mov edx, dword [edi + 4]
mov dword [esp + 0x24], eax
movzx eax, byte [ebx + 0x2c]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + eax*4]
shl ecx, 4
lea eax, [ecx + edx + 8]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x30]
lea edx, [edi + 0x44]
mov esi, eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x18], eax
call fcn.1000c190
mov ecx, dword [esp + 0x90]
not eax
and eax, dword [esp + 0x94]
not edx
and edx, dword [esp + 0x98]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], edx
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
call fcn.10059c00
and eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 0x40
je 0x10033ccd
test byte [edi + 0x22], 0x20
mov dword [esp + 0x68], 1
je 0x10033cd5
mov dword [esp + 0x68], 0
mov esi, dword [esp + 0x14]
mov eax, esi
call fcn.10011490
mov dword [esp + 0x48], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], eax
mov eax, esi
call fcn.10011490
cmp byte [ebx + 0x2c], 0
mov dword [esp + 0x50], eax
mov dword [ebx + 0x18], eax
jbe 0x10033d1c
mov ecx, dword [esp + 0x40]
test byte [ecx + 0x24], 8
je 0x10033d1c
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
push 0x17
xor ecx, ecx
mov dword [ebx], eax
call fcn.10011470
add esp, 4
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + 0x28]
test cl, 4
je 0x10033d58
mov esi, dword [esp + 0x14]
mov eax, edx
mov edi, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
push eax
push 0
push edi
push 0x11
call fcn.100113f0
mov eax, dword [esp + 0x58]
push 0x14
mov ecx, edi
call fcn.10011470
add esp, 0x14
mov byte [ebx + 0x2d], 0xe
jmp 0x10034c55
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x24]
test edx, 0x400
je 0x10033eae
mov ecx, esi
movzx edi, word [ecx + 0x28]
mov eax, ebp
mov dword [esp + 0x78], edi
call fcn.10009b50
lea esi, [edi + 2]
mov ecx, ebp
mov dword [esp + 0x74], esi
call fcn.10009dc0
mov edx, dword [ebx + 0xc]
xor esi, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], edx
test edi, edi
jle 0x10033ded
add eax, 2
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + esi*4]
test eax, eax
je 0x10033de4
test byte [eax + 0x12], 1
mov ecx, dword [esp + 0x44]
push ecx
je 0x10033dd5
mov edx, dword [esp + 0x20]
push edx
push esi
push ebx
push eax
push ebp
call fcn.100146c0
mov eax, dword [ebx + 0x10]
add esp, 0x18
mov dword [esp + 0x68], eax
jmp 0x10033de4
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
push eax
push ebp
call fcn.1004c470
add esp, 0xc
inc dword [esp + 0x44]
inc esi
cmp esi, edi
jl 0x10033da2
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
mov ecx, dword [ecx + 0x18]
mov esi, dword [esp + 0x14]
push 0x17
call fcn.10011470
mov eax, dword [esp + 0x4c]
inc eax
push 0x17
mov ecx, edi
call fcn.10011470
mov esi, dword [esp + 0x2c]
movzx edx, byte [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x20]
neg edx
sbb edx, edx
and edx, 0xfffffff7
add edx, 0xfffffffe
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x7c]
push 0xc
push edx
call fcn.10015ec0
mov byte [esi + 0x1c], 0
add esp, 0x1c
xor esi, esi
test edi, edi
jle 0x10033e7e
mov edi, edi
cmp esi, 0x10
jge 0x10033e7e
mov eax, dword [esp + 0x24]
mov dx, word [eax + 0x1e]
mov cx, si
shr dx, cl
test dl, 1
je 0x10033e79
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + esi*4]
mov edi, ebx
call fcn.1000bd00
mov edi, dword [esp + 0x78]
inc esi
cmp esi, edi
jl 0x10033e50
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov byte [ebx + 0x2d], 0x9a
mov dword [ebx + 0x30], edx
call fcn.10007940
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov dword [ebx + 0x34], eax
mov eax, ebp
call fcn.10009df0
call fcn.10009b60
jmp 0x10034c58
mov eax, edx
and eax, 0x100
je 0x10033f38
test dl, 5
je 0x10033f38
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
inc dword [ebp + 0x48]
mov esi, dword [ebp + 0x48]
mov ecx, dword [esp + 0x1c]
push esi
push ecx
push 0
push ebx
push eax
push ebp
call fcn.100146c0
mov edi, eax
add esp, 0x18
cmp edi, esi
je 0x10033eeb
mov edx, ebp
call fcn.10009d90
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x14]
push 0x26
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.10011470
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
push edi
push edx
push eax
push 0x49
call fcn.100113f0
mov ecx, 1
mov eax, ebp
call fcn.10009bf0
mov ecx, dword [esp + 0x2c]
push edi
push 0xffffffffffffffff
push ecx
mov edx, ebp
call fcn.10009a00
add esp, 0x20
mov byte [ebx + 0x2d], 0x9f
jmp 0x10034c58
test eax, eax
je 0x10034103
test dl, 2
je 0x10034103
xor edi, edi
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x34], 0x9f
mov dword [esp + 0x68], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ecx
test dl, 0x20
je 0x10033f74
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
lea eax, [edi + 1]
test dl, 0x10
je 0x10033f83
mov edx, dword [esi + 0x30]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x38], edi
cmp dword [esp + 0x1c], 0
je 0x10033f98
mov eax, ecx
mov ecx, edi
mov edi, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edi
test ecx, ecx
je 0x10034014
mov eax, dword [esp + 0x40]
mov esi, dword [eax]
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0x78]
push ecx
push edx
mov edi, ebp
mov byte [esp + 0x4c], 0x42
mov byte [esp + 0x4d], 0x40
mov byte [esp + 0x4e], 0x3f
mov byte [esp + 0x4f], 0x41
call fcn.10019e60
movzx edx, byte [esi]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edi, eax
mov eax, dword [esp + 0x50]
push edi
push eax
movzx eax, byte [esp + edx + 4]
push ecx
push eax
call fcn.100113f0
add esp, 0x18
mov ecx, 1
mov eax, ebp
call fcn.10009bf0
mov esi, dword [esp + 0x78]
mov edx, ebp
call fcn.10009d90
mov eax, dword [esp + 0x40]
mov edi, ebx
call fcn.1000bd00
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
jmp 0x10034037
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 0x6d
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.10011470
add esp, 4
test edi, edi
je 0x10034092
mov edi, dword [edi]
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
mov edx, dword [edi + 0x10]
push eax
push edx
push ebp
mov dword [esp + 0x74], eax
call fcn.1004c470
mov al, byte [edi]
add esp, 0xc
cmp al, 0x52
je 0x10034072
cmp al, 0x50
je 0x10034072
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
lea eax, [eax + eax + 0x50]
mov dword [esp + 0x34], eax
jmp 0x10034083
xor ecx, ecx
cmp dword [esp + 0x1c], ecx
sete cl
lea ecx, [ecx + ecx + 0x51]
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x38]
mov edi, ebx
call fcn.1000bd00
mov esi, dword [esp + 0x14]
mov eax, esi
call fcn.10007940
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x18]
sete dl
add dl, 7
cmp dword [esp + 0x34], 0x9f
mov byte [ebx + 0x2d], dl
mov dword [ebx + 0x30], ecx
mov dword [ebx + 0x34], eax
je 0x10034c58
inc dword [ebp + 0x48]
mov edi, dword [ebp + 0x48]
push 0x68
mov eax, edi
call fcn.10011470
mov edx, dword [esp + 0x1c]
push edi
push 0xffffffffffffffff
push edx
mov edx, ebp
call fcn.10009a00
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x44]
push edi
push eax
push ecx
push edx
call fcn.100113f0
add esp, 0x20
mov dl, 0x53
mov eax, esi
call fcn.100079b0
jmp 0x10034c58
test edx, 0x200
je 0x10034659
movzx eax, word [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x20], eax
xor eax, eax
test byte [edi + 0x22], 1
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x4c], al
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
mov dword [esp + 0x48], ecx
je 0x1003415f
cmp byte [edi + 0x24], al
jle 0x1003415f
mov ecx, dword [esp + 0x44]
mov cx, word [ecx + 0x2e]
cmp cx, word [esp + 0x20]
jbe 0x1003415f
mov byte [esp + 0x12], 1
mov eax, 1
movzx edi, word [esp + 0x20]
mov ecx, edi
test dl, 0x20
je 0x1003417b
mov eax, dword [esi + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
inc ecx
mov eax, 1
test dl, 0x10
je 0x1003420a
mov edx, dword [esi + 0x30]
mov ecx, dword [edx + ecx*4]
mov edx, pe_nt_image_headers32
mov eax, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], eax
test word [ecx + 0x14], dx
je 0x100341df
inc dword [ebp + 0x48]
mov esi, dword [ebp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x24], esi
mov ecx, dword [eax + 0x1c]
xor edx, edx
cmp byte [edi + ecx], 1
mov eax, esi
mov esi, dword [esp + 0x14]
sete dl
push 0x17
xor edx, dword [esp + 0x20]
mov ecx, edx
call fcn.10011470
add esp, 4
mov eax, esi
call fcn.10007940
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x30], 0
jne 0x1003420a
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + 4]
movsx ecx, word [ecx + edi*2]
test ecx, ecx
jl 0x1003420a
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 4]
lea ecx, [ecx + ecx*2]
cmp byte [edx + ecx*8 + 0x14], 0
jne 0x1003420a
mov byte [esp + 0x12], 1
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x2c]
push ecx
push eax
push esi
push ebx
push ebp
call fcn.100185d0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
add esp, 0x14
test eax, eax
je 0x10034232
mov dl, byte [edi + eax]
mov byte [esp + 0x4c], dl
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], eax
movzx eax, word [ecx + 0x2e]
cmp word [esp + 0x20], ax
jae 0x10034257
mov ecx, dword [ecx + 0x1c]
xor edx, edx
cmp byte [edi + ecx], dl
sete dl
cmp esi, edx
je 0x10034262
test esi, esi
je 0x10034283
cmp ax, word [esp + 0x20]
jne 0x10034283
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], ecx
mov cl, byte [esp + 0x12]
mov esi, eax
mov dword [esp + 0x30], esi
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], cl
jmp 0x10034287
mov esi, dword [esp + 0x30]
xor ecx, ecx
mov al, 0x28
cmp esi, ecx
je 0x10034298
mov dword [esp + 0x58], ecx
test byte [esi + 0x12], al
je 0x100342a0
mov dword [esp + 0x58], 1
mov edx, dword [esp + 0x34]
cmp edx, ecx
je 0x100342b1
mov dword [esp + 0x5c], ecx
test byte [edx + 0x12], al
je 0x100342b9
mov dword [esp + 0x5c], 1
cmp esi, ecx
jne 0x100342c8
mov dword [esp + 0x54], ecx
cmp word [esp + 0x20], cx
jbe 0x100342d0
mov dword [esp + 0x54], 1
mov dword [esp + 0x20], edi
cmp esi, ecx
je 0x1003437e
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov esi, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
lea eax, [edi + ecx]
push eax
push esi
push ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], eax
call fcn.1004c470
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
push ebx
push edx
call fcn.1000bd70
add esp, 0x14
mov eax, esi
call fcn.100097d0
test eax, eax
je 0x10034339
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x14]
push 0x4c
call fcn.10011470
mov esi, dword [esp + 0x78]
add esp, 4
cmp dword [esp + 0x2c], 0
je 0x10034378
mov eax, dword [esp + 0x2c]
movzx ecx, byte [edi + eax]
push ecx
mov eax, esi
call fcn.10016d00
add esp, 4
cmp al, 0x41
jne 0x1003435e
mov edx, dword [esp + 0x2c]
mov byte [edi + edx], al
mov eax, dword [esp + 0x2c]
mov dl, byte [edi + eax]
mov ecx, esi
call fcn.10009880
test eax, eax
je 0x10034378
mov ecx, dword [esp + 0x2c]
mov byte [edi + ecx], 0x41
inc dword [esp + 0x20]
jmp 0x100343b1
cmp byte [esp + 0x12], 0
je 0x100343b1
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
lea eax, [edi + edx]
push 0x1a
xor ecx, ecx
call fcn.10011470
mov eax, 1
add esp, 4
add dword [esp + 0x20], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], eax
movzx eax, byte [esp + 0x12]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov ecx, esi
sub ecx, eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push ebp
call fcn.10014650
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
push esi
push eax
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x30]
movzx edx, byte [ecx + eax*2 + 0x1005da74]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
push edx
push eax
mov eax, dword [esp + 0x54]
call fcn.10015fa0
add esp, 0x1c
cmp dword [esp + 0x34], 0
mov dword [esp + 0x20], edi
je 0x100344a8
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov eax, dword [esp + 0x38]
mov esi, dword [edx + 0x10]
add edi, eax
mov ecx, 1
mov eax, ebp
mov dword [esp + 0x78], esi
call fcn.10009b10
push edi
push esi
push ebp
call fcn.1004c470
mov ecx, dword [esp + 0x20]
push ebx
push ecx
mov ecx, dword [esp + 0x48]
call fcn.1000bd70
add esp, 0x14
mov eax, esi
call fcn.100097d0
test eax, eax
je 0x1003446c
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
push 0x4c
mov ecx, edi
call fcn.10011470
mov esi, dword [esp + 0x7c]
add esp, 4
mov edx, dword [esp + 0x4c]
push edx
mov eax, esi
call fcn.10016d00
add esp, 4
cmp al, 0x41
je 0x1003449e
mov dl, byte [esp + 0x4c]
mov ecx, esi
call fcn.10009880
test eax, eax
jne 0x1003449e
push 1
push edi
push ebp
lea eax, [esp + 0x58]
call fcn.10014650
add esp, 0xc
inc dword [esp + 0x20]
mov edi, dword [esp + 0x20]
jmp 0x100344ce
cmp byte [esp + 0x13], 0
je 0x100344ce
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
add eax, edi
push 0x1a
xor ecx, ecx
call fcn.10011470
add esp, 4
mov dword [esp + 0x5c], 0
inc edi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
call fcn.10001ed0
mov ecx, dword [esp + 0x14]
mov eax, ecx
call fcn.10007940
mov dword [ebx + 0x34], eax
test edi, edi
je 0x10034515
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x5c]
push edi
push edx
mov edx, dword [esp + 0x24]
movzx eax, byte [eax + edx*2 + 0x1005da7c]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
call fcn.10015fa0
add esp, 0x10
mov eax, dword [esp + 0x30]
mov edi, ebx
call fcn.1000bd00
mov eax, dword [esp + 0x34]
call fcn.1000bd00
cmp dword [esp + 0x68], 0
jne 0x10034615
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0xc]
test byte [eax + 0x2a], 0x20
jne 0x1003457c
inc dword [ebp + 0x48]
mov edi, dword [ebp + 0x48]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
push 0x71
mov eax, edi
call fcn.10011470
mov edx, dword [esp + 0x1c]
push edi
push 0xffffffffffffffff
push edx
mov edx, ebp
call fcn.10009a00
mov ecx, dword [esp + 0x28]
push 0x43
mov eax, edi
call fcn.10011470
add esp, 0x14
jmp 0x10034615
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x48]
je 0x10034615
call fcn.1000a180
movzx esi, word [eax + 0x2e]
mov ecx, ebp
mov dword [esp + 0x40], eax
call fcn.10009dc0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40]
xor edx, edx
xor edi, edi
cmp dx, word [eax + 0x2e]
jae 0x100345f0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x40]
lea edx, [edi + ecx]
mov ecx, dword [eax + 4]
mov si, word [ecx + edi*2]
push edx
mov edx, dword [esp + 0x48]
call fcn.1000a1a0
mov esi, dword [esp + 0x18]
movsx edx, ax
mov eax, dword [esp + 0x4c]
push edx
push eax
push 0x2f
call fcn.100113f0
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx + 0x2e]
inc edi
add esp, 0x10
cmp edi, edx
jl 0x100345b0
mov eax, dword [esp + 0x40]
movzx ecx, word [eax + 0x2e]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push 0x45
push eax
mov eax, dword [esp + 0x78]
call fcn.10015fa0
add esp, 0x10
mov eax, dword [esp + 0x24]
test dword [eax + 0x24], 0x1000
je 0x10034628
mov byte [ebx + 0x2d], 0x9f
jmp 0x10034636
cmp dword [esp + 0x1c], 0
sete cl
add cl, 7
mov byte [ebx + 0x2d], cl
mov edx, dword [esp + 0x48]
mov dword [ebx + 0x30], edx
mov cl, byte [eax + 0x26]
and cl, 1
mov byte [ebx + 0x2e], cl
test byte [eax + 0x24], 0xf
jne 0x10034c58
mov byte [ebx + 0x2f], 1
jmp 0x10034c58
test edx, 0x2000
je 0x10034c19
mov eax, dword [ebp + 0x44]
inc dword [ebp + 0x48]
mov edx, dword [ebp + 0x48]
mov dword [esp + 0x70], eax
inc eax
xor ecx, ecx
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x60], ecx
call fcn.10011490
mov edx, dword [esi + 0x30]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov byte [ebx + 0x2d], 0x10
mov dword [ebx + 0x30], ecx
mov al, byte [edi + 0x29]
cmp al, 1
jbe 0x10034790
mov esi, dword [esp + 0x3c]
movzx eax, al
sub eax, dword [esp + 0x90]
push 0
dec eax
lea edx, [eax + eax*4]
shl edx, 4
add edx, 0x58
push edx
mov dword [esp + 0x64], eax
call fcn.1000e2b0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10034715
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret
mov al, byte [esp + 0x5c]
mov esi, dword [esp + 0x40]
inc al
movzx ecx, al
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax], ecx
lea edi, [eax + 8]
mov ecx, 0x14
push esp
and al, 0xc
loop 0x10034c6d
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.100347d2
push eax
push esi
push dword [ebp + 8]
call fcn.10034787
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.100347c2
dec edi
add byte [esi + 0x7c9d88b6], al
invalid
invalid
popfd
jg 0x10034c5a
invalid
invalid
mov byte [ebp - 0x7c], 0x79
mov byte [ebp - 0x7b], 0x72
mov byte [ebp - 0x7a], 0x63
mov byte [ebp - 0x79], 0x7a
mov byte [ebp - 0x78], 0x73
mov byte [ebp - 0x77], 0x5e
mov byte [ebp - 0x76], 0x77
mov byte [ebp - 0x75], 0x78
mov byte [ebp - 0x74], 0x72
mov byte [ebp - 0x73], 0x7a
mov byte [ebp - 0x72], 0x73
mov byte [ebp - 0x71], 0x57
mov byte [ebp - 0x70], 0x16
call fcn.100347c2
arpl dx, ax
pop edx
pop es
lea eax, [ebp - 0x84]
push eax
call fcn.100347d2
push eax
push esi
push dword [ebp + 8]
call fcn.10034787
add esp, 0x10
mov dword [ebp - 0xc0], eax
push 0x40
push 0x1000
push dword [ebp + 0xc]
push ebx
call dword [ebp - 0x88]
mov esi, eax
cmp esi, ebx
je 0x10034fbb
push dword [ebp - 0xb4]
push dword [ebp + 0x10]
push esi
call fcn.10034733
add esp, 0xc
cmp word [edi + 6], bx
mov dword [ebp + 0xc], ebx
jbe 0x10034d32
movzx eax, word [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
lea eax, [eax + eax*4]
push dword [ecx + eax*8 + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
add ecx, dword [ebp + 0x10]
add eax, esi
push ecx
push eax
call fcn.10034733
add esp, 0xc
inc dword [ebp + 0xc]
mov ax, word [ebp + 0xc]
cmp ax, word [edi + 6]
jb 0x10034cff
call fcn.100347c2
and cl, bl
ret