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

Disassembly:
pop edi
pop ebx
je 0x30a006
jne 0x30a006
je 0x30a015
jmp 0x30a04f
ret 8
jmp 0x30a07a
je 0x30a0da
jne 0x30a0da
jmp 0x4918d725
push dword [esi]
call fcn.0032ff71
je 0x30a084
jne 0x30a084
add byte [eax], al
add byte [eax], al
mov dword [esi + 4], eax
push 0x33a4a0
je 0x30a0a1
push 0x30a00e
ret
push 0x33a49a
jmp 0x30a0e7
push dword [esi]
je 0x30a093
jne 0x30a093
add byte [eax], al
add byte [eax], al
add esp, 8
mov eax, 1
pop esi
jmp 0x309ff3
call fcn.0032ff71
add esp, 8
push edi
je 0x30a022
jne 0x30a022
jmp 0xca18d7a4
push dword [esi]
call fcn.0032ff71
add esp, 8
je 0x30a0bd
jne 0x30a0bd
jmp 0xff9024c3
push ebx
push dword [esi]
call fcn.0032ff71
add esp, 8
push 0x33a4a4
je 0x30a00b
jne 0x30a00b
jmp 0x30a296
mov eax, 1
push 0x30a045
ret
push dword [esi]
call fcn.0032ff71
add esp, 8
push 0x30a059
ret
movsb byte es:[edi], byte [esi]
xor byte [eax], al
mov byte [ecx + 0x2b], 0
mov byte [ecx + 0x2c], 0
mov byte [ecx + 0x2d], 0
mov byte [ecx + 0x2e], 0
push 0x315dd0
ret
mov byte [ecx + 0x17], 0
mov byte [ecx + 0x18], 0
mov byte [ecx + 0x19], 0
je 0x315e48
jne 0x315e48
mov byte [ecx + 0x28], 0
mov byte [ecx + 0x29], 0
mov byte [ecx + 0x2a], 0
je 0x315d0d
jne 0x315d0d
jmp 0x8da6edbc
je 0x315fc5
nop word cs:[eax + eax]
nop
push ecx
call dword [sym.imp.HDWOMH_6aod_FoqdzGzmpl_ieUfephml]
mov eax, dword [esi + 0x3c]
push 0x315eb5
ret
jmp 0x803326bf
mov eax, dword [esi + 4]
test eax, eax
je 0x315fa9
push 0x315ee1
ret
call dword [sym.imp.HDWOMH_6aod_FoqdzGzmpl_ieUfephml]
je 0x3160a3
jne 0x3160a3
add byte [eax], al
add byte [eax], al
test edi, edi
mov eax, edi
jne 0x3160b0
je 0x316046
jne 0x316046
test eax, eax
je 0x316062
je 0x31605b
jne 0x31605b
je 0x49a6abba
je 0x31608f
jne 0x31608f
je 0x31602e
jne 0x315de5
je 0x319198c0
add bl, al
jmp 0xa4475faf
push eax
call dword [sym.imp.HDWOMH_6aod_OddwmGzmpl_ieUfephml]
pop esi
pop edi
ret
mov edi, dword [eax + 0xc]
push eax
call fcn.002f5d50
add esp, 4
je 0x31602e
jne 0x31602e
add byte [eax], al
add byte [eax], al
push eax
je 0x316020
jne 0x316020
mov eax, dword [esi + 4]
je 0x316038
jne 0x316038
je 0x315ff5
jne 0x31608f
add byte [eax], al
add byte [eax], al
test byte [ebx - 0x3f7ac3ba], cl
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x316046
nop word [eax + eax]
je 0x316076
jne 0x316076
je 0x315f36
jne 0x315dc8
push ebx
push edi
push esi
xor esi, esi
cmp dword [ecx + 4], 0
je 0x31619f
je 0x316199
jne 0x316199
push eax
call fcn.002f15a0
test eax, eax
je 0x316158
push 0x3160eb
ret
jne 0x316158
mov eax, dword [edi + 4]
je 0x3161d5
jne 0x3161d5
je 0xf90518b
mov eax, esi
pop esi
je 0x316208
test byte [ecx], al
add dword [eax], eax
add byte [edi], cl
test ebx, edi
add byte [eax], al
add byte [edi], cl
test byte [eax + eax - 0x7bf10000], cl
dec edx
add dword [eax], eax
add byte [edi], cl
test dword [ecx + eax], eax
add cl, ch
jne 0x316208
je 0x31619f
je 0x316263
jne 0x316263
jmp 0x3162e2
mov esi, 1
jmp 0x316236
test byte [esp + 0x68], dh
sub byte [eax + eax], al
add al, ch
mov esp, 0x83fffdfb
les eax, [eax*4 + 0x44789c0]
je 0x3160fe
push 0x428
call fcn.002f5d20
add esp, 4
test eax, eax
mov dword [edi + 4], eax
je 0x3162b5
jne 0x3162b5
je 0x79b4e3f3
jne 0x3160fe
cmp dword [ecx + 0xc], 1
or al, 1
mov edi, ecx
je 0x3160fe
lea eax, [edi + 0x10]
je 0x3160db
jne 0x3160db
je 0x316612
jne 0x31619f
add byte [eax], al
add byte [eax], al
je 0x31617a
jne 0x31617a
je 0x316199
jne 0x315d27
je 0x455ea3a
mov dword [eax + 0x424], ecx
add byte [eax], al
push 0x18
call fcn.002f5d20
add esp, 4
je 0x31626a
jne 0x31626a
je 0x31624d
jne 0x31624d
lea ecx, [edi + 0x3c]
mov dword [eax + 0x41c], 2
mov dword [eax + 0x420], 0x317890
jmp 0x3161ad
pop edi
pop ebx
ret
mov dword [edi + 0xc], 1
je 0x3160fe
jne 0x3160fe
add byte [eax], al
add byte [eax], al
mov ecx, ebx
call dword [eax + 8]
test eax, eax
jne 0x3160fe
jmp 0x316120
jne 0x315eee
jmp 0xc3bb23f7
mov ecx, eax
mov ebx, eax
call fcn.00312850
test ebx, ebx
push 0x31612a
ret
push 0x316215
ret
je 0x3162ad
push 0x3161f2
ret
or byte [ecx], dh
dec dword [edi]
test dl, ah
add al, byte [eax]
add byte [edi], cl
test esp, ebx
add al, byte [eax]
add cl, ch
jmp 0x3163ce
jne 0x31635c
je 0x3163d1
jne 0x3163d1
jmp 0x1b2e761
je 0x3164d5
jne 0x3164d5
je 0x148262b5
push ebp
call dword [eax + 0x14]
cmp eax, 5
jmp 0x31643c
mov ecx, dword [esi + 8]
push 0x316518
ret
mov byte [esp], 0
mov byte [esp + 1], 0
mov byte [esp + 2], 0
je 0x31654b
jne 0x31654b
je 0x31642b
jne 0x31642b
jmp 0xecb4ba49
jmp 0x316380
add esp, 4
mov byte [esp], 0
mov byte [esp + 1], 0
push 0x316575
ret
mov edi, 1
xor ebp, ebp
je 0x3162f2
jne 0x3162f2
je 0x455b8be
lea edx, [esp + 4]
jne 0x3165a0
cmp dword [esp + 4], 0xb1
je 0x316508
jne 0x316508
je 0x3160a3
jne 0x315d6c
jmp 0x3165b1
mov byte [esp + 3], 0
mov byte [esp + 4], 0
mov byte [esp + 5], 0
mov byte [esp + 6], 0
push 0x316369
ret
add byte [eax], al
add byte [eax], al
jmp 0x316508
inc ebp
cmp ebx, ebp
je fcn.003163fd
je 0x3163ce
jne 0x3163ce
je 0x315d83
jne 0x316038
add byte [eax], al
add byte [eax], al
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
mov dword [esp + 8], 0
jmp 0x3163a2
jb 0x3165a0
mov eax, dword [esi]
mov ecx, esi
push 0
je 0x31655b
jne 0x31655b
je 0x31660e
jne 0x31660e
jmp 0x316495
je 0x316479
jne 0x316479
add byte [eax], al
add byte [eax], al
je 0x31642d
jne 0x31642d
je 0x3160a3
jne 0x315ec1
jmp 0x31654b
mov eax, dword [esp]
test eax, eax
je 0x3164b0
push 0x3165fb
ret
jmp 0xffa6e9c5
test ecx, ecx
je fcn.003163fd
cmp dword [esi + 4], 0
je fcn.003163fd
jmp 0x31634e
lea edx, [esp + 8]
mov eax, dword [ecx]
push 0x3165e5
ret
je 0x316905
jne 0x316905
je 0x3167c1
jne 0x316420
je 0x249ea67
add byte [eax], al
jne 0x316872
je 0x315f64
jne 0x316157
jmp 0xc4b55efa
mov eax, edi
add esp, 4
push 0x3167b3
ret
mov edi, 1
test ebp, ebp
je 0x316872
je 0x31695a
jne 0x31695a
push 0x316847
ret
mov eax, dword [ebx + 0xc]
mov dword [esp], edx
add edx, eax
cmp edx, ecx
je 0x316820
jne 0x316820
je 0x31640d
jne 0x3165b1
je 0x8535b455
mov ecx, dword [ebp + 4]
test ecx, ecx
leave
je 0x31695a
mov edx, dword [ebx + 4]
je 0x3166a2
jne 0x3166a2
add byte [eax], al
add byte [eax], al
push 0x3168b1
ret
jmp 0x3167e1
mov esi, ecx
je 0x31695a
je 0x31676b
jne 0x31676b
je 0x3166e4
nop dword [eax + eax]
cmp dword [eax], edi
je 0x316733
je 0x31663a
jne 0x31663a
ret 8
mov ebp, 1
mov eax, dword [esi + 4]
test eax, eax
jne 0x316789
jmp 0x31667a
mov ebx, dword [ebp]
test ebx, ebx
je 0x31695a
jmp 0x3166c6
jmp 0x31666f
je 0x31667a
push eax
call dword [sym.imp.HDWOMH_6aod_OddwmGzmpl_ieUfephml]
jmp 0x31667a
je 0x31695a
cmp dword [ecx + 4], 0
jmp 0x31670d
mov eax, dword [esi + 4]
test eax, eax
je 0x316783
jne 0x316783
add byte [eax], al
add byte [eax], al
add edx, 0x2c
push edx
push dword [esp + 4]
push 0x316796
ret
ja 0x31695a
mov edx, dword [0x350690]
lea ecx, [ebx + 0x18]
add eax, ebx
je 0x3167ee
jne 0x3167ee
call dword [sym.imp.HDWOMH_6aod_FoqdzGzmpl_ieUfephml]
je 0x31693a
jne 0x31693a
je 0x316158
jne 0x315ec1
mov eax, dword [esi + 4]
je 0x3166dc
jne 0x3166dc
je 0x316905
jne 0x316905
add byte [eax], al
add byte [eax], al
mov ecx, esi
push dword [ebx + 0x14]
push dword [esp + 4]
call fcn.00316aa0
je 0x31677d
jne 0x31677d
je 0x3160db
jne 0x31633f
test ebp, ebp
je 0x3167c1
jne 0x3167c1
add byte [eax], al
add byte [eax], al
jmp 0x31695a
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x316720
push 0x3166e4
ret
mov eax, dword [esi + 0x3c]
xor ebp, ebp
test eax, eax
je 0x316719
jne 0x316719
jmp 0xe98ec4b1
je 0x316964
jne 0x316964
add byte [eax], al
add byte [eax], al
je 0xfd34ed77
je 0x31666d
invalid
jne 0x31666d
call dword [eax + 0x14]
je 0x316853
jne 0x316853
je 0xfd9552d5
invalid
push edi
push esi
mov eax, dword [ecx + 4]
je 0x316a38
jne 0x316a38
je 0xfcedb6
je 0x316a74
add byte [eax], al
je 0x316a0b
jne 0x316a0b
push 0x316a7f
ret
jne 0x316a1f
jmp 0x3169c7
push 0x3169e3
ret
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x316a43
jmp 0x316a18
mov edi, 1
mov eax, dword [esi + 4]
test eax, eax
je 0x3169be
jne 0x3169be
push 0x3169ff
ret
push eax
je 0x316a6e
jne 0x316a6e
push 0x3169ce
ret
mov eax, dword [esi + 4]
test eax, eax
je 0x3169c7
push eax
call dword [sym.imp.HDWOMH_6aod_OddwmGzmpl_ieUfephml]
je 0x316a8d
jmp 0x316a6a
test eax, eax
je 0x316a18
push 0x316a59
ret
mov esi, ecx
test eax, eax
jmp 0x3169a3
cmp dword [eax], ecx
je 0x3169ea
je 0x3169da
jne 0x3169da
je 0x316158
jne 0x3165cd
je 0xc55b6e8
nop dword [eax]
je 0x316a64
jne 0x316a64
jmp 0x316a43
jne 0x316a8d
je 0xa0d98071
call dword [sym.imp.HDWOMH_6aod_FoqdzGzmpl_ieUfephml]
xor eax, dword [eax]
mov eax, dword [esi + 0x3c]
xor edi, edi
je 0x316a2c
jne 0x316a2c
je 0xf86cee92
invalid
je 0x30a07a
jmp 0x3169c7
jmp dword [esi + 0x2e]
push ebp
push ebx
push edi
jmp 0x316c09
mov ecx, esp
push 0x34fb3e
call fcn.00300d80
lea ebp, [esi + 0x10]
push 0x316bb7
ret
call fcn.00300d80
je 0x316b03
jne 0x316b03
je 0x3166a2
jne 0x316038
jmp 0x8da64cd4
push esi
sub esp, 0x10
mov edi, dword [esp + 0x24]
mov esi, ecx
lea ecx, [esp + 8]
je 0x316c1f
jne 0x316c1f
add byte [eax], al
add byte [eax], al
push 0x34fb28
je 0x316b31
jne 0x316b31
jmp 0x316c36
push ebp
push ebx
push edi
jmp 0x316e38
jne 0x316ca4
mov ecx, esi
push dword [edi + 4]
je 0x316e01
jne 0x316e01
jmp 0x3da6abcb
je 0x316c94
jne 0x316c94
je 0x316990
jne 0x3160eb
jmp 0x85412ced
test eax, eax
jne 0x316e67
mov eax, dword [esi + 4]
je 0x316cba
jne 0x316cba
add byte [eax], al
add byte [eax], al
je 0x316d17
jne 0x316d17
jmp 0x105f197
jne 0x316d5e
jmp 0x329978
jmp 0x316dbc
cmp dword [edi], 0x14c
je 0x316c3f
jne 0x316c3f
jmp 0x89f301b2
je 0x316ced
jne 0x316ced
je fcn.00315e90
jne 0x316a8b
jne 0x316c53
add byte [eax], al
add byte [eax], al
test eax, eax
je 0x316deb
jne 0x316deb
je fcn.00315c70
jne 0x315e2b
jmp 0x3294c2
mov edi, dword [edx]
test edi, edi
je 0x316d0b
jne 0x316d0b
add byte [eax], al
add byte [eax], al
push 0x316e44
ret
je 0x316d5e
jmp 0x316c84
jne 0x316d20
jmp 0x316d27
je 0x316ca4
push 0x316d8f
ret
mov eax, dword [esi + 4]
test eax, eax
jmp 0x316d00
push eax
call dword [sym.imp.HDWOMH_6aod_OddwmGzmpl_ieUfephml]
mov eax, 1
test ebx, ebx
jne 0x316ca4
xor eax, eax
je 0x316c53
je 0x316cb4
jne 0x316cb4
je 0xc9a738c2
je 0x316d17
jne 0x316d17
je 0x3167ee
jne fcn.00316aa0
add byte [eax], al
add byte [eax], al
je 0x316e14
jne 0x316e14
add byte [eax], al
add byte [eax], al
mov eax, dword [eax + 0xc]
jmp 0x316c64
pop edi
pop ebx
pop ebp
ret 4
mov ebx, 1
jmp 0x316d4a
mov esi, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x316ca4
jmp 0x316cda
mov edx, dword [esp + 0x14]
xor eax, eax
test edx, edx
je 0x316ca4
je 0x316c8b
jne 0x316c8b
jmp 0x8440f1fc
je 0x316d27
je 0x316d20
jne 0x316d20
add byte [eax], al
add byte [eax], al
add edi, 0x24
push edi
call fcn.00316aa0
push 0x316cf2
ret
pop esi
je 0x316d80
jne 0x316d80
je 0x3169da
jne 0x315d9b
jmp 0x6799fe98
push esi
je 0x316dce
jne 0x316dce
push 0x316de9
ret
cmp dword [eax], ebp
je 0x316d86
jmp 0x316d6e
add byte [eax], al
and al, 0x6c