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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, dword [ebp + 0x18]
mov eax, dword [0x482474]
test eax, eax
jne 0x412d9f
mov eax, 0x3c3b984f
xor eax, dword [0x468ea0]
mov dword [0x468ed0], eax
mov eax, dword [0x468ea4]
lea ecx, [eax + eax]
and ecx, 0x998b2cbc
neg ecx
add eax, ecx
add eax, 0xccc5965e
mov dword [0x468ed4], eax
mov eax, 0x7ac910e1
xor eax, dword [0x468ea8]
mov dword [0x468ed8], eax
mov eax, 0xa5851230
xor eax, dword [0x468eac]
mov dword [0x468edc], eax
mov eax, 0xa33410ff
xor eax, dword [0x468eb0]
mov dword [0x468ee0], eax
mov eax, 0xdf213063
xor eax, dword [0x468eb4]
mov dword [0x468ee4], eax
mov eax, 0x37171dbc
xor eax, dword [0x468eb8]
mov dword [0x468ee8], eax
mov eax, 0xde126acc
xor eax, dword [0x468ebc]
mov dword [0x468eec], eax
mov eax, 0xa7f1e579
xor eax, dword [0x468ec0]
mov dword [0x468ef0], eax
mov eax, dword [0x468ec4]
lea ecx, [eax + eax]
and ecx, 0x1b92b648
neg ecx
add eax, ecx
add eax, 0x8dc95b24
mov dword [0x468ef4], eax
mov eax, 0x46e8965f
xor eax, dword [0x468ec8]
mov dword [0x468ef8], eax
movzx eax, byte [0x468f10]
xor al, 0x8e
mov byte [0x468f40], al
movzx eax, byte [0x468f11]
xor al, 0x6e
mov byte [0x468f41], al
movzx eax, byte [0x468f12]
xor al, 0x81
mov byte [0x468f42], al
movzx eax, byte [0x468f13]
xor al, 0xdd
mov byte [0x468f43], al
movzx eax, byte [0x468f14]
xor al, 0xfe
mov byte [0x468f44], al
movzx eax, byte [str.__zzR_a]
xor al, 0x34
mov byte [0x468f45], al
movzx eax, byte [0x468f16]
xor al, 0x25
mov byte [0x468f46], al
movzx eax, byte [0x468f17]
xor al, 0x70
mov byte [0x468f47], al
movzx eax, byte [0x468f18]
xor al, 0x7a
mov byte [0x468f48], al
movzx eax, byte [0x468f19]
xor al, 0x52
mov byte [0x468f49], al
movzx eax, byte [0x468f1a]
xor al, 7
mov byte [0x468f4a], al
movzx eax, byte [0x468f1b]
xor al, 0xc4
mov byte [0x468f4b], al
movzx eax, byte [0x468f1c]
xor al, 0x69
mov byte [0x468f4c], al
movzx eax, byte [0x468f1d]
mov ecx, eax
not cl
or al, 0xc5
or cl, 0x3a
and cl, al
not cl
mov byte [0x468f4d], cl
movzx eax, byte [0x468f1e]
xor al, 0x4c
mov byte [0x468f4e], al
movzx eax, byte [0x468f1f]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x468f4f], al
movzx eax, byte [str.tma]
xor al, 0x74
mov byte [0x468f50], al
movzx eax, byte [0x468f21]
xor al, 0x27
mov byte [0x468f51], al
movzx eax, byte [0x468f22]
xor al, 0x6d
mov byte [0x468f52], al
movzx eax, byte [0x468f23]
xor al, 0x61
mov byte [0x468f53], al
movzx eax, byte [0x468f24]
xor al, 0x8c
mov byte [0x468f54], al
movzx eax, byte [0x468f25]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x468f55], al
movzx eax, byte [0x468f26]
xor al, 0xb1
mov byte [0x468f56], al
movzx eax, byte [0x468f27]
xor al, 0x12
mov byte [0x468f57], al
movzx eax, byte [0x468f28]
xor al, 0x61
mov byte [0x468f58], al
movzx eax, byte [0x468f29]
xor al, 0x5d
mov byte [0x468f59], al
movzx eax, byte [0x468f2a]
xor al, 6
mov byte [str.lWY], al
movzx eax, byte [0x468f2b]
xor al, 0x41
mov byte [0x468f5b], al
movzx eax, byte [0x468f2c]
xor al, 0x44
mov byte [0x468f5c], al
movzx eax, byte [0x468f2d]
xor al, 0xd7
mov byte [0x468f5d], al
movzx eax, byte [0x468f2e]
xor al, 0xd9
mov byte [0x468f5e], al
movzx eax, byte [0x468f2f]
xor al, 0x32
mov byte [0x468f5f], al
movzx eax, byte [0x468f30]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x9f
mov byte [0x468f60], al
movzx eax, byte [0x468f31]
mov ecx, eax
not cl
or al, 0xa6
or cl, 0x59
and cl, al
not cl
mov byte [0x468f61], cl
movzx eax, byte [0x468f32]
xor al, 0xf2
mov byte [0x468f62], al
movzx eax, byte [0x468f33]
xor al, 0xc6
mov byte [0x468f63], al
movzx eax, byte [0x468f34]
xor al, 0x4c
mov byte [0x468f64], al
movzx eax, byte [0x468f35]
xor al, 0xc3
mov byte [0x468f65], al
movzx eax, byte [0x468f36]
mov ecx, eax
add cl, al
not cl
add cl, al
mov byte [0x468f66], cl
movzx eax, byte [0x468f37]
xor al, 0xd7
mov byte [0x468f67], al
movzx eax, byte [0x468f38]
xor al, 0x2c
mov byte [0x468f68], al
movzx eax, byte [0x468efc]
xor al, 0xdb
mov byte [0x468f01], al
movzx eax, byte [0x468efd]
xor al, 0xcd
mov byte [0x468f02], al
movzx eax, byte [0x468efe]
xor al, 0xa0
mov byte [0x468f03], al
movzx eax, byte [0x468eff]
xor al, 0xe2
mov byte [0x468f04], al
movzx eax, byte [0x468f00]
xor al, 0xcb
mov byte [0x468f05], al
mov dword [0x482474], 1
push eax
sub esp, 0xc
mov edi, esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x2c
mov dword [ebp - 0x24], esp
push 0x4df40
call fcn.0041e330
add esp, 4
mov dword [esi], 0
xor esi, esi
test eax, eax
je 0x413299
mov ebx, eax
mov eax, dword [ebp + 0x14]
imul eax, dword [ebp + 0xc]
mov dword [edi], 0
mov dword [edi + 0xc], 1
mov dword [ebp - 0x28], eax
inc eax
imul eax, dword [ebp + 0x10]
cmp eax, 0x41
jge 0x412dfe
mov eax, 0x40
mov ecx, eax
and ecx, 0x39
xor eax, 0x39
lea eax, [eax + ecx*2]
mov dword [edi + 4], eax
push eax
mov dword [ebp - 0x14], edi
call fcn.0041e330
mov ecx, dword [ebp - 0x14]
add esp, 4
mov dword [ecx + 8], eax
test eax, eax
je 0x4131b5
mov dword [ebp - 0x18], ebx
mov edx, dword [ebp - 0x1c]
mov dword [edx], 0x29
xor eax, eax
mov byte [ebp - 0xd], 0x29
mov ebx, 0x29
jmp 0x412e68
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 8]
mov esi, dword [ebp - 0x20]
movzx ebx, byte [ebp - 0xd]
mov byte [eax + esi], bl
mov dword [ecx], edi
mov ebx, dword [edx]
mov eax, ebx
not eax
lea ebx, [eax + ebx*2]
mov dword [edx], ebx
mov eax, ebx
mov byte [ebp - 0xd], bl
mov eax, edi
test ebx, ebx
je 0x412ecd
lea edi, [eax + 1]
mov esi, dword [ecx + 4]
cmp edi, esi
jbe 0x412e40
cmp dword [ecx + 0xc], 0
je 0x412ebe
mov dword [ebp - 0x20], eax
jmp 0x412e84
cmp edi, esi
jbe 0x412ea0
add esi, esi
cmp esi, 0x81
jae 0x412e80
mov esi, 0x80
jmp 0x412e80
push esi
push dword [ecx + 8]
call fcn.0041e350
add esp, 8
test eax, eax
je 0x412ec2
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 8], eax
mov dword [ecx + 4], esi
mov edx, dword [ebp - 0x1c]
jmp 0x412e46
mov edi, eax
jmp 0x412e54
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
jmp 0x412e54
mov eax, dword [ebp + 0x1c]
cmp eax, 0xa
jb 0x412eda
mov eax, 0xa
mov eax, dword [eax*4 + 0x468ed0]
mov edi, eax
xor edi, 0x1000
add edi, eax
and eax, 0xffffefff
sub edi, eax
mov eax, edi
and eax, 0xfff
imul ecx, eax, 0x5556
add ecx, 0xaaac
mov edx, ecx
shr edx, 0x10
shr ecx, 0xf
and ecx, 2
xor edx, 1
add edx, ecx
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0x412810
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
mov ecx, edi
shr ecx, 0xe
and ecx, 1
mov dword [ebx + 0x14], ecx
shr eax, 2
imul eax, eax, 0x5556
add eax, 0xaaac
shr eax, 0x10
inc eax
mov dword [ebx + 0x10], eax
test di, di
js 0x412f65
lea eax, [ebx + 0x29272]
push 0x10000
push 0
push eax
call fcn.0041e520
add esp, 0xc
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x1c], 0
lea eax, [ebx + 0x9272]
lea ecx, [ebx + 0x9273]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], eax
mov byte [ebx + 0x9272], 0
mov dword [ebx + 0x38], 8
lea eax, [ebx + 0x39272]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x18], 1
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0
test di, di
js 0x413067
lea eax, [ebx + 0x90]
push 0x8101
push 0
push eax
call fcn.0041e520
add esp, 0xc
mov eax, ebx
add eax, 0x8192
push 0x280
push 0
push eax
call fcn.0041e520
add esp, 0xc
cmp dword [ebp + 0x10], 0
jle 0x4130e2
mov eax, dword [ebp + 0x10]
lea esi, [eax - 1]
xor edi, edi
jmp 0x4130b9
mov ecx, dword [ebp - 0x28]
imul eax, ecx
add eax, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
push 0
push 0
push 0
lea ecx, [ebp - 0x30]
push ecx
push eax
mov ebx, dword [ebp - 0x18]
push ebx
call fcn.004043e0
add esp, 0x18
inc edi
add esi, 0xffffffff
jae 0x4130e2
mov dword [ebp - 0x2c], 1
push 0
push 0
push 0
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x1c]
push ebx
call fcn.004043e0
add esp, 0x18
mov eax, edi
cmp dword [ebp + 0x20], 0
je 0x413090
mov eax, esi
jmp 0x413090
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push 4
push 0
push 0
push eax
push 0
push ebx
call fcn.004043e0
add esp, 0x18
cmp eax, 1
jne 0x4131c3
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
mov edi, eax
add ebx, 0xffffffd7
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
push 0x29
push 0x468f40
mov esi, dword [ebp - 0x24]
push esi
call fcn.0041e360
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov byte [esi + 0x12], ah
mov byte [esi + 0x13], al
mov eax, dword [ebp + 0x10]
mov byte [esi + 0x16], ah
mov byte [esi + 0x17], al
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 0x468f01]
mov byte [esi + 0x19], al
mov eax, ebx
shr eax, 0x18
mov byte [esi + 0x21], al
mov eax, ebx
shr eax, 0x10
mov byte [esi + 0x22], al
mov byte [esi + 0x23], bh
mov byte [esi + 0x24], bl
mov eax, esi
add eax, 0xc
push 0x11
push eax
push 0
call fcn.00402e90
add esp, 0xc
bswap eax
mov dword [esi + 0x1d], eax
mov ebx, edi
mov edi, dword [edi + 8]
push 0x29
push esi
push edi
call fcn.0041e360
mov edx, ebx
add esp, 0xc
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 0x10]
cmp esi, ebx
jbe 0x4131f6
cmp dword [edx + 0xc], 0
jne 0x4131a4
jmp 0x41327a
cmp esi, ebx
jbe 0x4131d7
add ebx, ebx
cmp ebx, 0x81
jae 0x4131a0
mov ebx, 0x80
jmp 0x4131a0
push ebx
call fcn.0041e340
add esp, 4
jmp 0x413299
push ebx
call fcn.0041e340
add esp, 4
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
jmp 0x41328f
push ebx
push edi
call fcn.0041e350
add esp, 8
test eax, eax
je 0x413274
mov edi, eax
mov edx, dword [ebp - 0x14]
mov dword [edx + 8], eax
mov dword [edx + 4], ebx
mov eax, dword [edx]
mov dword [edi + eax + 0xc], 0x826042ae
mov dword [edi + eax + 8], 0x444e4549
mov dword [edi + eax + 4], 0
mov dword [edi + eax], 0
mov dword [edx], esi
mov edi, dword [ebp + 0x18]
mov eax, dword [edi]
add eax, 4
mov ecx, dword [edx + 8]
add ecx, 0x25
push eax
push ecx
push 0
mov ebx, edx
call fcn.00402e90
add esp, 0xc
mov ecx, eax
shr ecx, 0x18
mov edx, dword [ebx]
mov esi, dword [ebx + 8]
mov byte [esi + edx - 0x10], cl
mov ecx, eax
shr ecx, 0x10
mov edx, dword [ebx]
mov esi, dword [ebx + 8]
mov byte [esi + edx - 0xf], cl
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
mov byte [edx + ecx - 0xe], ah
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
mov byte [edx + ecx - 0xd], al
add dword [edi], 0x39
push dword [ebp - 0x18]
call fcn.0041e340
add esp, 4
mov esi, dword [ebx + 8]
jmp 0x413299
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 8]
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
push dword [ebp - 0x18]
call fcn.0041e340
add esp, 4
push edi
call fcn.0041e340
add esp, 4
xor esi, esi
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret