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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10058746
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
cmp byte [ebp + 8], 0
push ebx
push esi
mov ebx, ecx
mov dword [esp + 0x50], edx
push edi
mov dword [esp + 0x34], ebx
je 0x1003607d
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x10036075
xor eax, eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x8c]
push eax
push 0x1000
call fcn.100286fd
xor esi, esi
mov edi, 0x884a
mov dword [esp + 0x14c], esi
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x48]
push dword [esp + 0x48]
sar eax, 1
push eax
push edi
push 0x80b8
call fcn.10010be5
pop ecx
pop ecx
call eax
push dword [esp + 0x48]
lea ecx, [esp + 0x60]
call fcn.10011abf
push 0x2217
mov byte [esp + 0x150], 1
call fcn.1002803a
cmp dword [esp + 0x74], 8
pop ecx
movzx edx, ax
lea ecx, [esp + 0x5c]
cmovae ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x90], edx
cmp word [ecx + eax*2 - 2], dx
je 0x10035a97
push edx
push ecx
lea ecx, [esp + 0x64]
call fcn.1001746f
lea eax, [esp + 0x5c]
mov dl, 1
push eax
push 1
push 0x5678
mov ecx, 0x7d3
call fcn.100354ac
add esp, 0xc
lea eax, [esp + 0x5c]
cmp dword [esp + 0x70], 8
cmovae eax, dword [esp + 0x5c]
push esi
push eax
push edi
push 0x7cef
call fcn.10010be5
pop ecx
pop ecx
call eax
lea eax, [esp + 0x90]
push eax
push 1
push 0x2992
push ecx
push ecx
push 0x1420
push 0x2a59
lea edx, [esp + 0x78]
call fcn.10035943
add esp, 0x1c
mov dword [esp + 0x58], esi
lea eax, [esp + 0x58]
mov dl, 1
xor cl, cl
push eax
push 0x61e4
push ebx
push 0x1034
call fcn.1003591a
add esp, 0x10
mov dword [esp + 0x28], 0x4b00f801
xor eax, eax
mov dword [esp + 0x2c], 0x56021b01
mov byte [esp + 0x13], al
mov dword [esp + 0x14], eax
mov word [esp + 0x30], 0x1d03
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x98]
call fcn.10011a97
push 0x10
pop edx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x14c], 2
call fcn.10037586
lea eax, [esp + 0x94]
mov byte [esp + 0x14c], 3
push 0x3eca
push eax
lea edx, [esp + 0x100]
xor cl, cl
call fcn.100360dd
pop ecx
pop ecx
push 0x65
pop eax
push 2
xor ecx, ecx
mov word [esp + 0x7a], ax
pop esi
mov dword [esp + 0x44], ecx
cmp esi, 4
jne 0x10035ba5
push 2
pop ecx
mov dword [esp + 0x44], ecx
jmp 0x10035bfc
movzx edx, byte [esp + esi + 0x29]
mov eax, esi
sub eax, ecx
push 1
push 1
push 1
movzx eax, byte [esp + eax + 0x32]
push 0x20c9
push 0x2716
push 0x6b58
movzx ecx, word [esp + eax*2 + 0x8c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x40]
add ecx, edx
mov edx, 0x10bd
mov word [esp + eax*2 + 0x8c], cx
lea ecx, [esp + 0x5c]
call fcn.100355c0
mov ecx, dword [esp + 0x5c]
add esp, 0x18
add esi, 2
cmp esi, 0xa
jb 0x10035b97
xor eax, eax
mov dword [esp + 0xf0], 7
and dword [esp + 0xec], eax
lea ecx, [esp + 0xdc]
mov word [esp + 0x7c], ax
mov word [esp + 0xdc], ax
lea eax, [esp + 0x74]
push eax
call fcn.1001251f
push ecx
push ecx
lea eax, [esp + 0xe4]
mov byte [esp + 0x154], 4
push eax
lea ecx, [esp + 0xa0]
call fcn.10018e04
push 0
push 1
lea ecx, [esp + 0xe4]
mov byte [esp + 0x154], 3
call fcn.100125a7
xor eax, eax
lea edi, [esp + 0x74]
cmp dword [esp + 0xa8], 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x94]
cmovae eax, dword [esp + 0x94]
xor edi, edi
push edi
push 0x80
push 2
push edi
push edi
push 0x40000000
push eax
push 0x884a
push 0x7926
call fcn.10010be5
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10035cfd
push edi
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x60]
push dword [ebx]
push esi
push 0x884a
push 0x29a9
call fcn.10010be5
pop ecx
pop ecx
call eax
push esi
test eax, eax
push 0x884a
push 0x4f83
setne bl
call fcn.10010be5
pop ecx
pop ecx
call eax
test bl, bl
jne 0x10035d49
mov ebx, dword [esp + 0x34]
push edi
push 1
lea ecx, [esp + 0x100]
call fcn.100125a7
push edi
push 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x154], 1
call fcn.100125a7
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
cmp edi, 0x12c
jb 0x10035b39
mov ecx, dword [esp + 0x54]
push 0
mov dword [ecx], 2
jmp 0x1003605f
mov dword [esp + 0x20], 0x6257
cmp dword [esp + 0x20], 0x6478
jle 0x10035da3
mov esi, edi
mov edi, esi
mov ebx, 0xc6a
mov eax, edi
lea ecx, [esp + 0x110]
cdq
push edx
push eax
call fcn.10001ba3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035d7f
mov eax, dword [eax]
push eax
call fcn.100410e1
pop ecx
push 0
push 1
lea ecx, [esp + 0x118]
call fcn.100122d9
dec edi
dec ebx
jne 0x10035d64
inc esi
cmp esi, 0x5d59
jl 0x10035d5d
xor ebx, ebx
mov dword [esp + 0x18], 0x94027000
cmp dword [esp + 0x20], 0x5fac
mov byte [esp + 0x1c], 0x68
jge 0x10035dc7
push str.zadxmstg_spqzry_tyihwxu_cjna_zlzdhhadn_zowj_jqr_dpztxv
call fcn.100410e1
pop ecx
push 0x22
pop edi
mov dword [esp + 0x14c], 3
mov ecx, ebx
push 2
mov word [esp + 0x28], di
pop esi
mov dword [esp + 0x14], ecx
cmp esi, 2
jne 0x10035df3
push 3
pop ecx
push ecx
mov dword [esp + 0x18], ecx
pop esi
jmp 0x10035e3c
movzx edx, byte [esp + esi + 0x19]
mov eax, esi
sub eax, ecx
push 0x565e
movzx eax, byte [esp + eax + 0x1a]
movzx eax, word [esp + eax*2 + 0x28]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [esp + esi + 0x1c]
mov word [esp + eax*2 + 0x28], cx
lea eax, [esp + 0x18]
push eax
push 0xe43
push 0xdde
mov cl, dl
call fcn.1003591a
mov ecx, dword [esp + 0x24]
add esp, 0x10
add esi, 2
cmp esi, 5
jb 0x10035de3
xor eax, eax
mov dword [esp + 0xc0], 7
mov word [esp + 0x26], ax
lea ecx, [esp + 0xac]
mov word [esp + 0xac], ax
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0xc0], ebx
call fcn.1001251f
mov byte [esp + 0x14c], 7
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], 0x6caf
cmp dword [esp + 0x34], 0x7026
jle 0x10035ef4
mov edi, ebx
mov esi, ebx
mov dword [esp + 0x20], 0x3e8e
mov eax, ebx
lea ecx, [esp + 0x128]
and eax, edi
cdq
push edx
push eax
call fcn.10001ba3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035ebd
mov eax, dword [eax]
push eax
call fcn.100410e1
pop ecx
push 0
push 1
lea ecx, [esp + 0x130]
call fcn.100122d9
add ebx, esi
dec dword [esp + 0x20]
jne 0x10035ea0
inc esi
push 0
pop ebx
cmp esi, 0x7807
jl 0x10035e98
inc edi
cmp edi, 0x1d2e
jl 0x10035e96
push 0x22
pop edi
push ecx
push ecx
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xb8]
call fcn.10018e04
cmp dword [esp + 0x34], 0x6917
jge 0x10035f1f
push str.uxu_cpj_wypafpb
call fcn.100410e1
pop ecx
mov dword [esp + 0x14c], 7
mov ecx, ebx
push 2
mov dword [esp + 0x3c], 0xa503fe00
mov dword [esp + 0x40], 0xd029812
mov dword [esp + 0x44], 0x73030f01
mov word [esp + 0x84], di
pop esi
cmp esi, 2
jne 0x10035f5b
push 4
pop ecx
push ecx
pop esi
jmp 0x10035f8a
movzx edx, byte [esp + esi + 0x39]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x36]
movzx ecx, word [esp + eax*2 + 0x80]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x38]
add ecx, edx
mov word [esp + eax*2 + 0x80], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xc
jb 0x10035f4f
xor eax, eax
mov dword [esp + 0xd8], 7
mov word [esp + 0x88], ax
lea ecx, [esp + 0xc4]
mov word [esp + 0xc4], ax
lea eax, [esp + 0x80]
push eax
mov dword [esp + 0xd8], ebx
call fcn.1001251f
push ecx
push ecx
lea eax, [esp + 0xcc]
mov byte [esp + 0x154], 0xa
push eax
lea ecx, [esp + 0xb8]
call fcn.10018e04
push ebx
push 1
lea ecx, [esp + 0xcc]
mov byte [esp + 0x154], 7
call fcn.100125a7
xor eax, eax
lea edi, [esp + 0x80]
stosd dword es:[edi], eax
lea edx, [esp + 0x13]
sub esp, 0xc
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.10036348
add esp, 0xc
lea edx, [esp + 0x5c]
lea ecx, [esp + 0xac]
call fcn.10034d3e
mov ecx, dword [esp + 0x54]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xb4]
call fcn.100125a7
push ebx
push 1
lea ecx, [esp + 0x100]
call fcn.100125a7
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.100125a7
push ebx
push 1
lea ecx, [esp + 0x64]
call fcn.100125a7
lea ecx, [esp + 0x48]
call fcn.1001c3a7
jmp 0x100360a9
mov dword [edx], 1
jmp 0x100360a9
mov byte [esp + 0x12], 0
cmp byte [esp + 0x12], 0
je 0x100360a9
push 0x2e2e
push 0x7b0c
push 0x7f0f
push ecx
push ecx
push 0x651f
mov dl, 1
call fcn.10034e30
add esp, 0x18
mov ecx, dword [esp + 0x144]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret