Function at 0x100051b0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov esi, ecx
mov ecx, dword [esp + 0xa4]
mov eax, dword [0x1003f418]
xor eax, esp
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], 0xffffffff
cmp ecx, 0xffffffff
sete byte [esp + 3]
lea eax, [esi + 0x40]
mov dword [esp + 0x58], eax
movsx eax, cl
mov dword [esp + 0x54], eax
lea eax, [esi + 0x3c]
mov dword [esp + 0x50], eax
lea eax, [esi + 0x38]
mov dword [esp + 0x4c], eax
lea eax, [esi + 0x4c]
mov dword [esp + 0x48], eax
mov eax, 0xd9091efd
jmp 0x10005240
cmp eax, 0x6d45b68a
je 0x10005572
cmp eax, 0x723676f6
jne 0x10005240
mov eax, 0x37d260f9
mov dword [esp + 0x10], 0xffffffff
nop word cs:[eax + eax]
cmp eax, 0xdfdc7a3
jle 0x10005290
cmp eax, 0x4b6b02be
jg 0x100052e0
cmp eax, 0x30f31fef
jg 0x10005374
cmp eax, 0x24a1e4e3
jg 0x1000545b
cmp eax, 0xdfdc7a4
je 0x100055da
cmp eax, 0xe039d91
jne 0x10005240
mov eax, 0x24a1e4e4
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
jmp 0x10005240
cmp eax, 0xd9091efc
jle 0x10005320
cmp eax, 0xe1abff2e
jg 0x100053ae
cmp eax, 0xdad620ff
jg 0x1000549a
cmp eax, 0xd9091efd
je 0x10005654
cmp eax, 0xd967ea27
jne 0x10005240
mov eax, 0xe039d91
mov dword [esp + 0x2c], 0xffffffff
jmp 0x10005240
cmp eax, 0x5f09eea7
jle 0x100053e4
cmp eax, 0x6d45b689
jg 0x10005217
cmp eax, 0x5f09eea8
je 0x1000566f
cmp eax, 0x6340752c
jne 0x10005240
mov eax, 0x5a50be19
mov edi, 0xffffffff
jmp 0x10005240
cmp eax, 0xae61c0f8
jle 0x1000541a
cmp eax, 0xc6281a36
jg 0x100054be
cmp eax, 0xae61c0f9
je 0x10005698
cmp eax, 0xb733b1cc
jne 0x10005240
mov eax, dword [esp + 8]
push dword [eax]
push dword [esp + 0x20]
push 1
push dword [esp + 0x18]
call fcn.10015fe6
add esp, 0x10
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
mov eax, 0x723676f6
jmp 0x100056ae
cmp eax, 0x37d260f8
jg 0x100054fb
cmp eax, 0x30f31ff0
je 0x100056bb
cmp eax, 0x35cf4b56
jne 0x10005240
mov eax, dword [esp + 0x18]
cmp eax, 2
mov eax, 0xa6fbd2a1
mov ecx, 0xae61c0f9
cmovb eax, ecx
jmp 0x10005240
cmp eax, 0xf6c3b646
jg 0x10005526
cmp eax, 0xe1abff2f
je 0x100056dc
cmp eax, 0xf0c8a3c0
jne 0x10005240
mov eax, 0x37d260f9
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x10], ebx
jmp 0x10005240
cmp eax, 0x5a50be18
jg 0x1000554e
cmp eax, 0x4b6b02bf
je 0x1000575c
cmp eax, 0x4e2e70b1
jne 0x10005240
mov eax, 0xdc08dac3
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x28], ecx
jmp 0x10005240
cmp eax, 0x802cd272
je 0x1000577a
cmp eax, 0xa6fbd2a1
je 0x100057a3
cmp eax, 0xad59031a
jne 0x10005240
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x20]
cmp dword [eax], 0
mov eax, 0x2f4cf4d5
mov ecx, 0x30f31ff0
cmove eax, ecx
jmp 0x10005240
cmp eax, 0x24a1e4e4
je 0x100057ad
cmp eax, 0x2f4cf4d5
jne 0x10005240
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x30]
mov edx, dword [edx]
add edx, dword [ecx]
cmp dword [eax], edx
mov eax, 0x30f31ff0
mov ecx, 0x5f09eea8
cmovb eax, ecx
jmp 0x10005240
cmp eax, 0xdad62100
je 0x100057c7
cmp eax, 0xdc08dac3
jne 0x10005240
mov eax, 0x5a50be19
mov edi, dword [esp + 0x28]
jmp 0x10005240
cmp eax, 0xc6281a37
je 0x10005229
cmp eax, 0xd7d5b630
jne 0x10005240
mov eax, dword [esp + 8]
push dword [eax]
push dword [esp + 0x58]
call fcn.10015b3c
add esp, 8
cmp eax, 0xffffffff
mov eax, 0x4e2e70b1
mov ecx, 0x4d87148
cmove eax, ecx
jmp 0x10005240
cmp eax, 0x37d260f9
je 0x100057d9
cmp eax, 0x45c2dda0
jne 0x10005240
mov eax, 0xe039d91
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], ecx
jmp 0x10005240
cmp eax, 0xf6c3b647
je 0x100057eb
cmp eax, 0x4d87148
jne 0x10005240
mov eax, 0xdc08dac3
mov dword [esp + 0x28], 0xffffffff
jmp 0x10005240
cmp eax, 0x5e1fe2fc
jne 0x1000582f
mov eax, dword [esp + 0x18]
cmp eax, 3
mov eax, 0xf6c3b647
mov ecx, 0x35cf4b56
cmovl eax, ecx
jmp 0x10005240
lea edx, [esp + 0x6c]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0xa4]
mov byte [esp + 0x67], al
lea ebp, [esp + 0x60]
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x3c]
lea ebx, [esp + 0x5c]
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
add eax, 0x20
mov edx, dword [ecx]
push ebx
push eax
push dword [esp + 0x14]
push ebp
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x7b]
push eax
push dword [esp + 0x70]
call dword [edx + 0x1c]
mov dword [esp + 0x18], eax
mov eax, 0x5e1fe2fc
jmp 0x10005240
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, 0xa6fd293b
nop dword [eax + eax]
cmp eax, 0xfb8bd4cd
je 0x10005804
cmp eax, 0xc119d664
je 0x10005630
cmp eax, 0xa6fd293b
jne 0x10005600
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x24]
mov eax, 0xfb8bd4cd
mov ecx, 0xc119d664
cmove eax, ecx
jmp 0x10005600
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov edx, dword [esp + 0x44]
mov ebp, dword [edx + 0xc]
mov dword [ebp], eax
mov ebp, dword [edx + 0x1c]
mov dword [ebp], eax
sub ecx, eax
mov eax, dword [edx + 0x2c]
mov dword [eax], ecx
mov eax, 0xfb8bd4cd
jmp 0x10005600
mov eax, dword [esp + 0x30]
cmp byte [esp + 3], 0
mov eax, 0xad59031a
mov ecx, 0xe1abff2f
cmovne eax, ecx
jmp 0x10005240
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x30]
add dword [ecx], 0xffffffff
mov eax, dword [eax + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
mov edx, dword [esp + 0xa4]
mov byte [ecx], dl
mov eax, 0x5a50be19
mov edi, edx
jmp 0x10005240
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
mov eax, 0xb733b1cc
mov ecx, 0x4b6b02bf
cmove eax, ecx
jmp 0x10005240
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp dword [eax], 0
mov eax, 0xdfdc7a4
mov ecx, 0x6340752c
cmove eax, ecx
jmp 0x10005240
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0xffffffff
mov eax, 0x6403e928
nop word cs:[eax + eax]
nop
cmp eax, 0x44aea541
jg 0x10005720
cmp eax, 0xdf3a3832
je 0x10005745
cmp eax, 0xf09e2600
jne 0x10005700
jmp 0x10005825
cmp eax, 0x44aea542
je 0x1000574e
cmp eax, 0x6403e928
jne 0x10005700
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x24]
mov eax, 0x44aea542
mov ecx, 0xdf3a3832
cmove eax, ecx
jmp 0x10005700
mov eax, 0xf09e2600
xor edi, edi
jmp 0x10005700
mov eax, 0xf09e2600
mov edi, dword [esp + 0xa4]
jmp 0x10005700
mov byte [esi + 0x3d], 1
lea eax, [esp + 0x67]
cmp dword [esp + 0x60], eax
mov eax, 0xf0c8a3c0
mov ecx, 0xc6281a37
cmove eax, ecx
jmp 0x10005240
mov eax, dword [esp + 8]
movsx ecx, byte [esp + 0x67]
push dword [eax]
push ecx
call fcn.10015b3c
add esp, 8
cmp eax, 0xffffffff
mov eax, 0x45c2dda0
mov ecx, 0xd967ea27
cmove eax, ecx
jmp 0x10005240
mov eax, 0xdad62100
jmp 0x10005240
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov eax, 0x5a50be19
mov edi, dword [esp + 0x14]
jmp 0x10005240
mov eax, 0x24a1e4e4
mov dword [esp + 0x14], 0xffffffff
jmp 0x10005240
mov eax, 0x24a1e4e4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp 0x10005240
mov eax, dword [esp + 0x18]
cmp eax, 3
mov eax, 0xa6fbd2a1
mov ecx, 0x802cd272
cmove eax, ecx
jmp 0x10005240
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
mov eax, 0x6d45b68a
mov ecx, 0xd7d5b630
cmove eax, ecx
jmp 0x10005240
mov eax, 0x5a50be19
jmp 0x10005240
cmp eax, 0x5a50be19
jne 0x10005240
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.1000daa7
mov eax, edi
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 4