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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov eax, dword [0x1006b040]
xor eax, esp
mov dword [esp + 0x90], eax
cmp dword [ecx + 0x10], 0
sete byte [esp + 7]
mov dword [esp + 0x64], ecx
lea eax, [ecx + 0x14]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
lea eax, [edx + 4]
mov dword [esp + 0x58], eax
mov ecx, 0xd974ce49
mov eax, 0xb94df265
jmp 0x100362c0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx]
mov eax, 0x983b7d1d
mov ecx, 0x105cc45c
cmove eax, ecx
mov ecx, 0x34a4593b
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0xfe87b97f
jle 0x10036330
cmp ecx, 0x48a828de
jg 0x100363a0
cmp ecx, 0x34a4593a
jg 0x10036472
cmp ecx, 0x840256a
jle 0x100365cc
cmp ecx, 0x1c6e64ba
jle 0x10036936
cmp ecx, 0x1c6e64bb
je 0x1003695d
cmp ecx, 0x2ab7b57d
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xf418d9b7
mov ecx, 0x67c6a307
mov edx, 0x3db3a4dc
cmovl ecx, edx
jmp 0x100362c0
cmp ecx, 0xbac5daeb
jle 0x10036400
cmp ecx, 0xd974ce48
jg 0x100364bd
cmp ecx, 0xcb61b239
jg 0x1003660b
cmp ecx, 0xbac5daec
je 0x10036283
cmp ecx, 0xbb5c1e6f
je 0x10036978
cmp ecx, 0xc96e3d19
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xee942411
mov ecx, 0xfe87b980
mov edx, 0x5ae532c3
cmove ecx, edx
jmp 0x100362c0
cmp ecx, 0x5ae532c2
jle 0x100364f7
cmp ecx, 0x6ba3059b
jg 0x10036722
cmp ecx, 0x5ae532c3
je 0x100369b9
cmp ecx, 0x6682d89a
je 0x100369fa
cmp ecx, 0x67c6a307
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x6c0fe25
mov ecx, 0xe819a40f
mov edx, 0x57097c15
cmovl ecx, edx
jmp 0x100362c0
cmp ecx, 0x9dc99116
jle 0x1003656e
cmp ecx, 0xa7a08700
jg 0x10036763
cmp ecx, 0x9dc99117
je 0x10036a15
cmp ecx, 0xa1ee1b11
je 0x10036a30
cmp ecx, 0xa6f63a3b
jne 0x100362c0
mov eax, dword [esp + 8]
mov eax, dword [esp + 0x4c]
add eax, 0x18
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x40]
mov eax, 0xee942411
mov ecx, 0x57a1fcf8
cmove eax, ecx
mov ecx, dword [esp + 0x50]
mov ecx, 0x34a4593b
mov edx, dword [esp + 0x50]
mov dword [esp + 0x18], edx
jmp 0x100362c0
cmp ecx, 0x3db3a4db
jg 0x100367a2
cmp ecx, 0x34a4593b
je 0x10036a4b
cmp ecx, 0x36c58e46
je 0x10036a55
cmp ecx, 0x39145fa9
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x57a1fcf8
mov ecx, 0xfe87b980
mov edx, 0x7c55de25
cmove ecx, edx
jmp 0x100362c0
cmp ecx, 0xf6ddcc64
jg 0x100367e1
cmp ecx, 0xd974ce49
je 0x10036a70
cmp ecx, 0xe819a40f
je 0x10036a7d
cmp ecx, 0xf0bb6229
jne 0x100362c0
mov ecx, 0x34a4593b
jmp 0x100362c0
cmp ecx, 0x54dba7fa
jg 0x10036820
cmp ecx, 0x48a828df
je 0x10036a98
cmp ecx, 0x5139145f
je 0x10036ab3
cmp ecx, 0x52f35c06
jne 0x100362c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov eax, 0xd7f4d89c
mov ecx, 0x57a1fcf8
jmp 0x100362a9
cmp ecx, 0x8641cb3c
jle 0x10036853
cmp ecx, 0x8641cb3d
je 0x10036c63
cmp ecx, 0x86ab0d9e
je 0x10036c7e
cmp ecx, 0x9152067c
jne 0x100362c0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0x10
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
jae 0x10036e00
mov eax, dword [esp + 0x28]
jmp 0x10036e02
cmp ecx, 0xfe87b980
je 0x10036c99
cmp ecx, 0x3c5dbe6
je 0x10036ca3
cmp ecx, 0x7bbc7b1
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xe8fc7e40
mov ecx, 0x1c6e64bb
mov edx, 0x36c58e46
cmovl ecx, edx
jmp 0x100362c0
cmp ecx, 0xcb61b23a
je 0x10036cbe
cmp ecx, 0xcdd4ccd8
je 0x10036cd9
cmp ecx, 0xd960e478
jne 0x100362c0
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
neg ecx
or ecx, 0xfffffffb
add eax, 0xffffffff
or eax, 4
sub eax, ecx
lea ecx, [eax - 9]
not ecx
lea edx, [ecx + eax*2]
add edx, 0xffffffee
lea eax, [ecx + eax*2]
add eax, 0xfffffff0
and eax, 0x3daa5ba9
add eax, edx
add eax, 2
mov ecx, 0xfffffffd
sub ecx, edx
or ecx, 0xc255a456
add ecx, eax
sub ecx, dword [esp + 0x54]
lea eax, [ecx - 0x3daa5ba9]
mov edx, eax
xor edx, 0xc255a456
add ecx, edx
add ecx, 0xc255a457
mov edx, eax
not edx
or edx, 0xc255a456
add edx, ecx
and eax, 0xc255a456
add eax, edx
add eax, 0x7b54b755
imul ecx, eax, 0xfda622f3
imul eax, eax, 0xfb4c45e6
and eax, 0xd154b684
add eax, ecx
add ecx, ecx
or ecx, 0x2eab497a
sub eax, ecx
imul eax, eax, 0x451ac63b
add eax, 0x1bbf7aec
mov ecx, eax
xor ecx, 0xb8d8024e
mov edx, eax
or edx, 0x4727fdb1
add edx, ecx
and eax, 0xb8d8024e
lea ecx, [edx + eax]
add eax, edx
add eax, 0x31cad281
mov edx, eax
xor edx, 0xb8d8024e
add edx, ecx
xor eax, 0x4727fdb1
add eax, edx
add eax, 0x78f2d034
cmp eax, 0x20
mov eax, 0xd2c76b69
mov ecx, 0xf418d9b7
cmovb eax, ecx
mov ecx, 0x34a4593b
jmp 0x100362c0
cmp ecx, 0x6ba3059c
je 0x10036cf4
cmp ecx, 0x72515303
je 0x10036d0f
cmp ecx, 0x7c55de25
jne 0x100362c0
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x38]
mov ecx, 0x34a4593b
mov eax, 0x105cc45c
jmp 0x100362c0
cmp ecx, 0xa7a08701
je 0x10036d29
cmp ecx, 0xb2c496bc
je 0x10036d45
cmp ecx, 0xb4f8eb2e
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xb18f8d99
mov ecx, 0xfe87b980
mov edx, 0x855ed3f8
cmove ecx, edx
jmp 0x100362c0
cmp ecx, 0x3db3a4dc
je 0x10036d60
cmp ecx, 0x41d51bad
je 0x10036d7b
cmp ecx, 0x42659324
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x9738b2f5
mov ecx, 0x48a828df
mov edx, 0x6ba3059c
cmovl ecx, edx
jmp 0x100362c0
cmp ecx, 0xf6ddcc65
je 0x10036d96
cmp ecx, 0xfcad8339
je 0x10036daf
cmp ecx, 0xfdbc2c05
jne 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x51570d27
mov ecx, 0xfe87b980
mov edx, 0x52f35c06
cmove ecx, edx
jmp 0x100362c0
cmp ecx, 0x57097c15
je 0x10036dca
cmp ecx, 0x584e2a7e
jne 0x1003708c
mov ecx, dword [esp]
cmp ecx, 0x105cc45c
mov ecx, 0xfe87b980
mov edx, 0x54dba7fb
cmove ecx, edx
jmp 0x100362c0
cmp ecx, 0x81b5949a
je 0x10036de5
cmp ecx, 0x855ed3f8
jne 0x100362c0
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
lea ecx, [eax - 0x7d01fa3f]
mov edx, ecx
not edx
and edx, 0xfffffffe
lea edx, [edx + eax*2]
add edx, 0x5fc0b82
or ecx, 0xfffffffe
sub edx, ecx
lea eax, [edx + 1]
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x7d01fa3e
add edx, esi
add edx, 1
and eax, 0x82fe05c1
mov esi, eax
xor esi, 0x82fe05c1
add esi, edx
and ecx, 0x7d01fa3e
add ecx, esi
add ecx, eax
imul eax, ecx, 0x3e906563
lea ecx, [eax + 0x637f06c0]
mov edx, ecx
and edx, 0xc96d519c
add eax, edx
add eax, 0x637f06c0
not ecx
add eax, ecx
or ecx, 0xc96d519c
sub eax, ecx
imul eax, eax, 0xb96c444b
lea ecx, [eax + 0x3f52a692]
mov edx, ecx
and edx, 0x497ba74b
add edx, edx
sub ecx, edx
add eax, eax
add eax, 0x7ea54d24
or eax, 0x6d08b168
lea esi, [ecx + eax]
add esi, 0x53a4a806
cmp esi, 0x1000
mov eax, 0x31b106a3
mov ecx, 0x9738b2f5
cmovae eax, ecx
mov ecx, 0x34a4593b
mov edi, dword [esp + 0x10]
jmp 0x100362c0
cmp ecx, 0x840256b
jne 0x1003709a
mov ecx, dword [esp]
cmp ecx, 0xd7f4d89c
mov ecx, 0xfe87b980
mov edx, 0xbb5c1e6f
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x105cc45c
mov ecx, 0xcdd4ccd8
mov edx, 0x2ab7b57d
cmovl ecx, edx
jmp 0x100362c0
lea ecx, [esp + 0x78]
mov dword [esp + 8], ecx
lea eax, [esp + 0x88]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov ecx, 0x34a4593b
mov dword [esp + 0x18], 0
mov eax, 0xee942411
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
jmp 0x100362c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x78]
call fcn.10053560
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
cmp dword [ecx], 0x10
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
jae 0x10036e40
mov ecx, dword [esp + 8]
jmp 0x10036e42
mov ecx, dword [esp]
cmp ecx, 0x31b106a3
mov ecx, 0x8641cb3d
mov edx, 0x584e2a7e
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xb94df265
mov ecx, 0xfcad8339
mov edx, 0xb4f8eb2e
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xd2c76b69
mov ecx, 0xfe87b980
mov edx, 0x8ebd7ea
cmove ecx, edx
jmp 0x100362c0
mov ecx, 0xd974ce49
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xb18f8d99
mov ecx, 0x86ab0d9e
mov edx, 0x42659324
cmovl ecx, edx
jmp 0x100362c0
mov dword [esp], eax
mov ecx, 0x7bbc7b1
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x6c0fe25
mov ecx, 0xfe87b980
mov edx, 0xa6f63a3b
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x983b7d1d
mov ecx, 0x41d51bad
mov edx, 0x81b5949a
cmovl ecx, edx
jmp 0x100362c0
mov eax, dword [esp + 0xc]
mov ecx, eax
xor ecx, 0xffffffdb
lea edx, [ecx + ecx*4]
lea esi, [eax + eax]
mov edi, esi
or edi, 0xffffffb6
sub edx, edi
mov edi, esi
xor edi, 0x48
add edi, edx
and esi, 0x7fffffb6
lea edx, [esi + edi]
add edx, 2
and edx, eax
lea esi, [edx + edx]
mov edi, 0x5b17b62a
sub edi, esi
and edi, 0x5b17b628
sub edi, esi
add edx, edx
add edx, 0x24e849d5
or edx, 0xa4e849d6
add edx, edi
not edx
mov esi, eax
neg esi
and esi, edx
lea edi, [edx + esi*2]
lea esi, [eax - 1]
add edi, eax
add edi, 0xffffffff
or esi, edx
add esi, esi
sub esi, edi
add esi, 0xdc2d0483
mov edx, esi
xor edx, 0x48
mov edi, esi
or edi, 0xffffffb7
add edi, edx
and esi, 0x48
mov edx, eax
and edx, 0xffffffdb
lea ebp, [edx + edx*2]
mov edx, eax
or edx, 0x24
sub ebp, edx
sub ebp, edx
add ebp, 0x48
or ebp, ecx
add esi, edi
add esi, 0xb55757ea
mov edi, esi
and edi, ebp
add edi, ebp
mov ebx, esi
xor ebx, ebp
add ebx, edi
not ebp
or ebp, esi
lea esi, [ebx + ebp]
add esi, 1
mov ebp, esi
xor ebp, 0x6e7ba3dd
and esi, 0xee7ba3dd
and ecx, eax
add edx, ecx
not eax
add eax, edx
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xffffffdd
mov eax, ecx
not eax
add eax, edx
add eax, 0xffffffde
or eax, ecx
lea ecx, [eax + 1]
lea edx, [esi*2 - 0x4f1f30a9]
add edx, ebp
mov esi, 0xfffffffe
sub esi, eax
and esi, edx
add esi, esi
or ecx, edx
sub edx, esi
add edx, eax
add edx, 1
lea ecx, [edx + ecx*2]
add eax, eax
sub ecx, eax
imul esi, ecx, 0xf0ec5b8d
lea edx, [esi + 0x1e2748e6]
lea eax, [esi + 0x146d28fb]
lea ecx, [esi + esi]
add ecx, 0x28da51f6
mov edi, ecx
xor edi, 0x8a13956e
add esi, edi
add esi, 0x1e2748e6
mov edi, eax
or edi, 0xc509cab7
sub esi, edi
or eax, 0x3af63548
add eax, esi
sub eax, edx
and ecx, 0x8a13956e
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xdb9da571
and eax, 0xc509cab7
add eax, edx
add eax, 0xdb9da571
mov ecx, 0x24625a8e
sub ecx, edx
and ecx, 0xc509cab7
add ecx, eax
imul eax, ecx, 0xc61a5f45
lea ecx, [eax - 0x28ed23ae]
mov edx, ecx
and edx, 0x24a4c7d
add eax, eax
add eax, 0xae25b8a4
or eax, 0x49498fa
add eax, edx
xor ecx, 0xfdb5b382
add ecx, eax
not edx
lea esi, [edx + ecx]
add esi, 0x28ed23b0
mov edi, dword [esp + 0x54]
mov ecx, 0x34a4593b
mov eax, 0x31b106a3
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x31b106a3
mov ecx, 0xfe87b980
mov edx, 0xf6ddcc65
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xd2c76b69
mov ecx, 0x3c5dbe6
mov edx, 0x9dc99117
cmovl ecx, edx
jmp 0x100362c0
mov ecx, 0xf0bb6229
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xd7f4d89c
mov ecx, 0x840256b
mov edx, 0xa1ee1b11
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xe8fc7e40
mov ecx, 0xfe87b980
mov edx, 0xbac5daec
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x51570d27
mov ecx, 0xb2c496bc
mov edx, 0x6682d89a
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x8a4edad8
mov ecx, 0xfe87b980
mov edx, 0x72515303
cmove ecx, edx
jmp 0x100362c0
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x30]
jae 0x10037051
mov eax, dword [esp + 0x28]
jmp 0x10037053
cmp byte [esp + 7], 0
mov eax, 0xe8fc7e40
mov ecx, 0x105cc45c
cmovne eax, ecx
mov ecx, 0x34a4593b
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x57a1fcf8
mov ecx, 0x39145fa9
mov edx, 0xfdbc2c05
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xee942411
mov ecx, 0xc96e3d19
mov edx, 0xcb61b23a
cmovl ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x983b7d1d
mov ecx, 0xfe87b980
mov edx, 0x9152067c
cmove ecx, edx
jmp 0x100362c0
push esi
push edi
call fcn.10058a47
add esp, 8
mov ecx, 0x34a4593b
mov eax, 0x6c0fe25
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xb94df265
mov ecx, 0xfe87b980
mov edx, 0xa7a08701
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0xf418d9b7
mov ecx, 0xfe87b980
mov edx, 0x5139145f
cmove ecx, edx
jmp 0x100362c0
mov ecx, dword [esp]
cmp ecx, 0x9738b2f5
mov ecx, 0xfe87b980
mov edx, 0xd960e478
cmove ecx, edx
jmp 0x100362c0
mov eax, dword [eax]
sub esp, 0x1c
movaps xmm0, xmmword [0x10067960]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
mov eax, 0x51570d27
mov ecx, 0x8a4edad8
jmp 0x100362a9
mov ecx, dword [ecx]
push 0
lea edx, [esp + 0x78]
push edx
push eax
push ecx
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
not ecx
mov edx, ecx
and edx, 0x51b99203
add edx, ebx
mov esi, ebx
xor esi, 0xae466dfc
add esi, edx
or ecx, 0xae466dfc
add ecx, esi
mov edx, ebx
or edx, 0xae466dfc
sub ecx, edx
add ecx, 1
mov edx, ebx
and edx, 0xae466dfc
or edx, ecx
lea ecx, [edx + edx]
mov esi, ecx
and esi, 0x5c8cdbf8
xor edx, 0xae466dfc
add edx, esi
or ecx, 0xa3732406
sub edx, ecx
add edx, 0xa3732406
mov ecx, eax
not ecx
mov esi, edx
not esi
mov edi, eax
or edi, edx
and edx, ecx
or esi, ecx
add esi, edx
add esi, eax
sub esi, edi
mov edx, esi
not edx
lea edx, [esi + edx*2]
add edx, 0x13aa4efb
mov esi, edx
and esi, 0xec55b106
xor edx, 0xec55b106
add edx, esi
add edx, esi
mov esi, edx
not esi
and esi, 0xe0b3934d
lea esi, [esi + edx*2]
or edx, 0xe0b3934d
sub esi, edx
lea edx, [esi + 0x1f4c6cb2]
and ecx, edx
add ecx, esi
add ecx, 0x1f4c6cb2
mov esi, edx
not esi
and esi, eax
add esi, ecx
add esi, eax
mov ecx, edx
or ecx, eax
not ecx
add ecx, esi
and edx, eax
lea esi, [edx + ecx]
add ecx, edx
add ecx, 1
mov edx, ecx
xor edx, 0x1f4c6cb2
add edx, esi
add edx, 1
mov esi, ecx
or esi, 0xe0b3934d
add esi, edx
not ecx
or ecx, 0x1f4c6cb2
lea edi, [esi + ecx]
lea edx, [ecx + esi]
add edx, 0xe0b39350
mov ecx, 0x5f4c6caf
sub ecx, edi
and ecx, 0x3ac05505
add ecx, edi
add ecx, 0xe0b39350
and edx, 0x3ac05505
add edx, ecx
lea ecx, [ebx + edx]
add ecx, 0x8a7f55f6
add edx, ebx
mov esi, ecx
and esi, 0x453faafa
add esi, esi
sub ecx, esi
add edx, edx
add edx, 0x14feabec
or edx, 0x7580aa0a
mov esi, 0x3ac05505
sub esi, ecx
sub esi, edx
lea edi, [eax + eax]
not edi
add edi, eax
or edi, ebx
lea eax, [edi - 1]
mov ebp, esi
and ebp, eax
sub ebp, edi
neg edi
mov ebx, esi
or ebx, edi
add ebx, ebp
or esi, eax
add esi, ebx
lea eax, [ecx + edx]
add eax, 0xc53faafa
or eax, edi
lea ecx, [esi + eax]
add eax, esi
add eax, 1
add ecx, ecx
add ecx, 3
mov edx, eax
sub edx, ecx
sub ecx, eax
lea eax, [ecx + edx*2]
imul eax, eax, 0x7f31d871
lea ecx, [eax + 0x7f31d871]
mov edx, ecx
and edx, 0x56e60a4a
add edx, eax
add edx, 0x7f31d871
mov esi, 0x80ce278e
sub esi, eax
and esi, 0xa919f5b5
add esi, edx
xor ecx, 0x56e60a4a
add ecx, esi
imul eax, ecx, 0xd17ee891
add eax, 0xd17ee891
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0x10
mov eax, 0x6c0fe25
mov ecx, 0xb18f8d99
cmovae eax, ecx
mov ecx, 0x34a4593b
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
jmp 0x100362c0
mov eax, dword [eax]
sub esp, 0x1c
movaps xmm0, xmmword [0x10067950]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
mov eax, 0x51570d27
jmp 0x100362a4
cmp ecx, 0x54dba7fb
jne 0x100362c0
jmp 0x100370ab
cmp ecx, 0x8ebd7ea
jne 0x100362c0
call fcn.1005a9fd
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.10058f4a
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret