Function at 0x40edd0
Capabilities:
Authenticate hmac
Encode data using base64
Manually build aes constants
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x7a0
mov esi, esp
mov ebx, dword [ebp + 8]
mov al, byte [esi + 0x208]
mov byte [esi + 0x20c], al
mov byte [esi + 0x450], 0x61
mov byte [esi + 0x451], 0xdb
mov eax, 2
mov byte [esi + eax + 0x450], 0
add eax, 1
cmp eax, 8
jne 0x40ee03
xor eax, eax
cmp eax, 8
jae 0x40ee40
mov dl, byte [esi + eax + 0x450]
mov edi, eax
shl edi, 1
and edi, 0x5e
mov ecx, eax
xor ecx, 0x2f
add ecx, edi
xor cl, dl
add cl, 0x15
mov byte [esi + eax + 0x450], cl
add eax, 1
jmp 0x40ee15
sub esp, 8
lea eax, [esi + 0x450]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00401b30
add esp, 8
mov dword [esi + 0xd0], eax
push eax
mov edi, esp
push eax
mov ebx, esp
mov dword [edi], 0x8ba6d620
mov dword [ebx], edi
mov dword [esi], edi
mov eax, dword [edi]
mov ecx, eax
sub ecx, 0x8058ea8d
je 0x40fe08
jmp 0x40ee80
mov ecx, eax
sub ecx, 0x8260b1f1
je 0x410ee4
jmp 0x40ee90
mov ecx, eax
sub ecx, 0x8443279f
je 0x40fdd4
jmp 0x40eea0
mov ecx, eax
sub ecx, 0x872608ef
je 0x4111e1
jmp 0x40eeb0
mov ecx, eax
sub ecx, 0x87575b2c
je 0x410c0f
jmp 0x40eec0
mov ecx, eax
sub ecx, 0x893348f8
je 0x413967
jmp 0x40eed0
mov ecx, eax
sub ecx, 0x8ae0e45a
je 0x4109aa
jmp 0x40eee0
mov ecx, eax
sub ecx, 0x8ba6d620
je 0x40fab4
jmp 0x40eef0
mov ecx, eax
sub ecx, 0x8d634f79
je 0x410cf5
jmp 0x40ef00
mov ecx, eax
sub ecx, 0x8fbd28e0
je 0x411e89
jmp 0x40ef10
mov ecx, eax
sub ecx, 0x900c4a75
je 0x411fb2
jmp 0x40ef20
mov ecx, eax
sub ecx, 0x90461027
je 0x412ec7
jmp 0x40ef30
mov ecx, eax
sub ecx, 0x90d0cdf0
je 0x412e56
jmp 0x40ef40
mov ecx, eax
sub ecx, 0x92352c90
je 0x411ccb
jmp 0x40ef50
mov ecx, eax
sub ecx, 0x97ac938a
je 0x411209
jmp 0x40ef60
mov ecx, eax
sub ecx, 0x98780fb9
je 0x412404
jmp 0x40ef70
mov ecx, eax
sub ecx, 0x99ff4385
je 0x411741
jmp 0x40ef80
mov ecx, eax
sub ecx, 0x9a546d14
je 0x40fdbb
jmp 0x40ef90
mov ecx, eax
sub ecx, 0x9bed1e59
je 0x410dab
jmp 0x40efa0
mov ecx, eax
sub ecx, 0x9d7ef9a1
je 0x4138e4
jmp 0x40efb0
mov ecx, eax
sub ecx, 0x9ebf1b6c
je 0x412d21
jmp 0x40efc0
mov ecx, eax
sub ecx, 0x9f4c2154
je 0x410dec
jmp 0x40efd0
mov ecx, eax
sub ecx, 0xa08f6d15
je 0x41379d
jmp 0x40efe0
mov ecx, eax
sub ecx, 0xa1ee7bff
je 0x41210c
jmp 0x40eff0
mov ecx, eax
sub ecx, 0xa24b8e15
je 0x410b5a
jmp 0x40f000
mov ecx, eax
sub ecx, 0xa78a7e71
je 0x4100c4
jmp 0x40f010
mov ecx, eax
sub ecx, 0xa996c76a
je 0x41370b
jmp 0x40f020
mov ecx, eax
sub ecx, 0xaa3cb381
je 0x410e88
jmp 0x40f030
mov ecx, eax
sub ecx, 0xaa8c9434
je 0x4108bb
jmp 0x40f040
mov ecx, eax
sub ecx, 0xac8b9064
je 0x410dce
jmp 0x40f050
mov ecx, eax
sub ecx, 0xadbabc18
je 0x410d3b
jmp 0x40f060
mov ecx, eax
sub ecx, 0xae4de455
je 0x412ed4
jmp 0x40f070
mov ecx, eax
sub ecx, 0xaea450ea
je 0x412f06
jmp 0x40f080
mov ecx, eax
sub ecx, 0xaef12627
je 0x412e86
jmp 0x40f090
mov ecx, eax
sub ecx, 0xafb2781a
je 0x4133ef
jmp 0x40f0a0
mov ecx, eax
sub ecx, 0xb1f7d750
je 0x41171e
jmp 0x40f0b0
mov ecx, eax
sub ecx, 0xb2968570
je 0x411e4b
jmp 0x40f0c0
mov ecx, eax
sub ecx, 0xb6bbf66f
je 0x412ea4
jmp 0x40f0d0
mov ecx, eax
sub ecx, 0xbd6ce554
je 0x40fd30
jmp 0x40f0e0
mov ecx, eax
sub ecx, 0xbf25d91e
je 0x412a2a
jmp 0x40f0f0
mov ecx, eax
sub ecx, 0xbf7be995
je 0x411ddd
jmp 0x40f100
mov ecx, eax
sub ecx, 0xbfe32142
je 0x413958
jmp 0x40f110
mov ecx, eax
sub ecx, 0xc1a2a813
je 0x412464
jmp 0x40f120
mov ecx, eax
sub ecx, 0xc363a6ce
je 0x412fb1
jmp 0x40f130
mov ecx, eax
sub ecx, 0xc383ca9d
je 0x40fc7f
jmp 0x40f140
mov ecx, eax
sub ecx, 0xc41214d1
je 0x40fc70
jmp 0x40f150
mov ecx, eax
sub ecx, 0xc4b9cf22
je 0x410fc0
jmp 0x40f160
mov ecx, eax
sub ecx, 0xc533fca3
je 0x4121a7
jmp 0x40f170
mov ecx, eax
sub ecx, 0xc5369d3a
je 0x4129fe
jmp 0x40f180
mov ecx, eax
sub ecx, 0xc53f2d1a
je 0x41381d
jmp 0x40f190
mov ecx, eax
sub ecx, 0xc562552c
je 0x410bd3
jmp 0x40f1a0
mov ecx, eax
sub ecx, 0xc64c7aba
je 0x411dbf
jmp 0x40f1b0
mov ecx, eax
sub ecx, 0xc76b82fc
je 0x411f74
jmp 0x40f1c0
mov ecx, eax
sub ecx, 0xc85d02dc
je 0x4138c5
jmp 0x40f1d0
mov ecx, eax
sub ecx, 0xc89dccd9
je 0x410b9f
jmp 0x40f1e0
mov ecx, eax
sub ecx, 0xc8ad1910
je 0x41223f
jmp 0x40f1f0
mov ecx, eax
sub ecx, 0xc9035529
je 0x4108ca
jmp 0x40f200
mov ecx, eax
sub ecx, 0xca5274fa
je 0x40fb57
jmp 0x40f210
mov ecx, eax
sub ecx, 0xcab50f88
je 0x410a04
jmp 0x40f220
mov ecx, eax
sub ecx, 0xcacd6e0f
je 0x41344d
jmp 0x40f230
mov ecx, eax
sub ecx, 0xcd818965
je 0x40fd3f
jmp 0x40f240
mov ecx, eax
sub ecx, 0xcdbb88f7
je 0x412198
jmp 0x40f250
mov ecx, eax
sub ecx, 0xd004eece
je 0x4121ca
jmp 0x40f260
mov ecx, eax
sub ecx, 0xd0437835
je 0x410d20
mov eax, 0x4abbca77
cmp dword [esi + 0xd0], 0
je 0x40fac7
mov eax, 0xe3b495dc
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x55b1feb9
mov byte [esi + 0xa], 1
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xc383ca9d
mov edi, dword [esi]
jmp 0x413b96
mov eax, 0x20baf18b
test byte [esi + 0x16], 1
jne 0x40fc8f
mov eax, 0x3e324518
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xcd818965
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x518]
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00401a00
add esp, 8
fnstcw word [esi + 0x86]
movzx eax, word [esi + 0x86]
or eax, 0xc00
mov word [esi + 0x2e2], ax
fldcw word [esi + 0x2e2]
fistp dword [esi + 0x504]
fldcw word [esi + 0x86]
mov eax, dword [esi + 0x504]
mov dword [esi + 0x58], eax
mov eax, dword [ebx]
mov dword [eax], 0x738bb348
mov edi, dword [esi]
jmp 0x413b96
mov eax, 0x8058ea8d
cmp dword [esi + 0x58], 2
jl 0x40fdcb
mov eax, 0x8443279f
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, 0x4bc1dec4
cmp dword [esi + 0x58], 3
jl 0x40fde4
mov eax, 0xdeb9774
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, 0xee11155c
cmp dword [esi + 0x58], 1
jl 0x40fe18
mov eax, 0xd10d0fbf
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov al, byte [esi + 0x1ec]
mov byte [esi + 0x228], al
mov byte [esi + 0x438], 0xfe
mov byte [esi + 0x439], 7
mov eax, 2
mov byte [esi + eax + 0x438], 0
add eax, 1
cmp eax, 5
jne 0x4100e3
xor eax, eax
cmp eax, 5
jae 0x410117
mov cl, byte [esi + eax + 0x438]
mov dl, al
add dl, 0xc1
xor dl, cl
add dl, 0x3b
mov byte [esi + eax + 0x438], dl
add eax, 1
jmp 0x4100f5
mov eax, dword [esi + 4]
lea ecx, [esi + 0x438]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401f60
add esp, 0xc
mov dword [esi + 0x51c], eax
mov eax, dword [ebx]
mov dword [eax], 0x76615206
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xc9035529
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x1c]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x6f2780ac
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x467846ef
jmp 0x413b96
mov eax, dword [esi + 0x1c]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x56d32838
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x520]
sub esp, 4
mov dword [esp], eax
call fcn.004019e0
add esp, 4
mov dword [esi + 0xa4], eax
mov eax, 0x5d6429bd
cmp dword [esi + 0xa4], 0
je 0x410b87
mov eax, 0xc89dccd9
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00418ce0
add esp, 4
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov dword [esi + 0xe0], eax
mov eax, dword [ebx]
mov dword [eax], 0xc562552c
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0xe0]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x410bef
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004086e0
add esp, 4
mov dword [esi + 0x60], eax
mov eax, dword [ebx]
mov dword [eax], 0x87575b2c
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x2aa87301
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xd5ff1fb1
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x60da1d02
mov edi, dword [esi]
jmp 0x413b96
lea ecx, [esi + 0x578]
call fcn.00409df0
lea ecx, [esi + 0x578]
call fcn.00409430
mov eax, dword [ebx]
mov dword [eax], 0xac8b9064
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x229c54c1
mov edi, dword [esi]
jmp 0x413b96
mov al, byte [esi + 0x1b8]
mov byte [esi + 0x250], al
mov byte [esi + 0x418], 0xa3
mov byte [esi + 0x419], 9
mov eax, 2
mov byte [esi + eax + 0x418], 0
add eax, 1
cmp eax, 6
jne 0x410e0b
xor eax, eax
cmp eax, 6
jae 0x410e4b
movzx edx, byte [esi + eax + 0x418]
mov ecx, eax
add ecx, 0x9bab207e
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0x8a
mov byte [esi + eax + 0x418], cl
add eax, 1
jmp 0x410e1d
mov eax, dword [esi + 4]
lea ecx, [esi + 0x418]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00401f60
add esp, 0xc
mov ecx, 0xaa3cb381
cmp eax, 0
mov edi, dword [esi]
jne 0x410e7f
mov ecx, 0x97ac938a
mov eax, dword [ebx]
mov dword [eax], ecx
jmp 0x413b96
mov al, byte [esi + 0x1b4]
mov byte [esi + 0x254], al
mov byte [esi + 0x6c], 0xd4
mov byte [esi + 0x6d], 0x47
mov eax, 2
mov byte [esi + eax + 0x6c], 0
add eax, 1
cmp eax, 4
jne 0x410ea1
xor eax, eax
cmp eax, 4
jae 0x410ecc
mov cl, byte [esi + eax + 0x6c]
mov dl, al
add dl, 0xf1
xor dl, cl
add dl, 0x4b
mov byte [esi + eax + 0x6c], dl
add eax, 1
jmp 0x410eb0
lea eax, [esi + 0x6c]
mov dword [esi + 0x528], eax
mov eax, dword [ebx]
mov dword [eax], 0x8260b1f1
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x528]
mov ecx, dword [esi + 4]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401f60
add esp, 0xc
mov ecx, 0x504dec48
cmp eax, 0
jne 0x410f16
mov ecx, 0x97ac938a
mov eax, dword [ebx]
mov dword [eax], ecx
jmp 0x413b96
mov eax, 0xf6ee5505
cmp dword [esi + 0x52c], 0
jne 0x410fd3
mov eax, 0x97ac938a
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x62051ed8
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x637e46e9
jmp 0x413b96
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x99ff4385
mov edi, dword [esi]
jmp 0x413b96
lea ecx, [esi + 0x568]
sub esp, 4
mov dword [esp], 0x1000
call fcn.0043c210
mov ecx, 0x7b9ce87d
cmp eax, 0
jge 0x411765
mov ecx, 0x52464ef9
mov eax, dword [ebx]
mov dword [eax], ecx
jmp 0x413b96
mov eax, dword [esi + 0xb0]
add eax, 0xfffffffe
mov dword [esi + 0x538], eax
mov eax, dword [ebx]
mov dword [eax], 0x302ac950
mov eax, dword [esi + 0x538]
mov dword [esi + 0x330], eax
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x5543895c
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x38c]
mov ecx, dword [esi + 0x20]
sub eax, ecx
sar eax, 1
add eax, 0x5cefc2f1
add eax, 1
sub eax, 0x5cefc2f1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411e0d
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004086e0
add esp, 4
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043a300
add esp, 8
mov eax, dword [ebx]
mov dword [eax], 0xb2968570
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x2ec71797
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x380]
sub esp, 4
mov dword [esp], eax
call fcn.00418ce0
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411eba
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004086e0
add esp, 4
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x380]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040b030
add esp, 0x10
lea ecx, [esi + 0x710]
sub esp, 4
mov dword [esp], 1
call fcn.00409350
mov eax, dword [ebx]
mov dword [eax], 0x5139104f
mov dword [esi + 0x338], 0
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 0x37c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00402060
add esp, 4
mov dword [esp], eax
call fcn.004019e0
add esp, 4
mov dword [esi + 0xf8], eax
mov eax, dword [ebx]
mov dword [eax], 0x900c4a75
mov edi, dword [esi]
jmp 0x413b96
mov eax, 0xe4571afb
cmp dword [esi + 0xf8], 0
je 0x411fc5
mov eax, 0x5abe27a2
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, dword [esi + 0xfc]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x76b59678
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xc533fca3
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0xec]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xd004eece
mov edi, dword [esi]
jmp 0x413b96
lea ecx, [esi + 0x710]
call fcn.00409df0
lea ecx, [esi + 0x710]
call fcn.00409430
mov eax, dword [ebx]
mov dword [eax], 0x3080805b
mov edi, dword [esi]
jmp 0x413b96
lea ecx, [esi + 0x568]
call fcn.00418e30
mov eax, dword [ebx]
mov dword [eax], 0xee68e08a
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x540]
mov ecx, dword [esi + 4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004018d0
add esp, 8
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x100]
test eax, eax
sete cl
mov eax, dword [esi + 0x104]
test eax, eax
sete al
or cl, al
mov eax, 0x769d4048
test cl, 1
jne 0x41244c
mov eax, 0xc1a2a813
mov ecx, dword [ebx]
mov dword [ecx], eax
jmp 0x413b96
mov eax, dword [esi + 0x100]
sub esp, 4
mov dword [esp], eax
call fcn.00418ce0
add esp, 4
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41249b
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004086e0
add esp, 4
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x100]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040b030
add esp, 0x10
mov eax, dword [esi + 0x104]
sub esp, 4
mov dword [esp], eax
call fcn.00418ce0
add esp, 4
mov edi, eax
sub edi, 0x857e000c
add edi, 1
add edi, 0x857e000c
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412518
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.004086e0
add esp, 4
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
mov ecx, dword [esi + 0x104]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040b030
add esp, 0x10
mov al, byte [esi + 0x170]
mov byte [esi + 0x2a4], al
mov byte [esi + 0x3d0], 0x82
mov byte [esi + 0x3d1], 0x19
mov eax, 2
mov byte [esi + eax + 0x3d0], 0
add eax, 1
cmp eax, 6
jne 0x412577
xor eax, eax
cmp eax, 6
jae 0x4125cf
movzx edx, byte [esi + eax + 0x3d0]
mov dword [esi + 0x470], edx
mov ecx, 0x39
sub ecx, eax
and ecx, edx
mov edi, 0x39
sub edi, eax
mov edx, 0x39
sub edx, eax
and edi, edx
or edi, dword [esi + 0x470]
xor edi, 0xffffffff
or ecx, edi
add cl, 0x22
mov byte [esi + eax + 0x3d0], cl
add eax, 1
jmp 0x412589
mov eax, dword [esi + 4]
lea ecx, [esi + 0x3d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004018d0
add esp, 8
mov dword [esi + 0x110], eax
mov eax, 0xeddfd2a9
cmp dword [esi + 0x110], 0
jne 0x412603
mov eax, 0x43408972
mov ecx, dword [ebx]
mov dword [ecx], eax
mov dword [esi + 0x33c], 0
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x348]
mov dword [esi + 0xb8], eax
mov ecx, dword [esi + 0xb8]
mov eax, 0xd914e1f2
cmp ecx, dword [esi + 0x24]
jb 0x412a1f
mov eax, 0xbf25d91e
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x9ebf1b6c
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x350], eax
mov dword [esi + 0x34c], ecx
mov edi, dword [esi]
jmp 0x413b96
mov edi, dword [esi + 0x34c]
mov eax, dword [esi + 0x350]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x558], eax
mov eax, dword [esi + 0x108]
mov dword [esi + 0x55c], eax
mov eax, dword [esi + 0x114]
mov dword [esi + 0x560], eax
mov eax, dword [esi + 0x11c]
mov dword [esi + 0x564], eax
lea ecx, [esi + 0x688]
sub esp, 4
mov dword [esp], 2
call fcn.00409350
mov eax, dword [esi + 0x28]
lea ecx, [esi + 0x688]
lea edx, [esi + 0x558]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.00419480
add esp, 0x10
lea ecx, [esi + 0x688]
call fcn.00409df0
mov eax, 0x608fb6dd
cmp dword [esi + 0x28], 0
je 0x412db9
mov eax, 0x250a6d5
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x3a8]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x608fb6dd
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xf0e9f3ce
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0x90461027
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xae4de455
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x3e4137fb
mov edi, dword [esi]
jmp 0x413b96
mov eax, 0x49c1e0dd
cmp dword [esi + 0x114], 0
je 0x412f19
mov eax, 0x27c67f11
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xee68e08a
mov edi, dword [esi]
jmp 0x413b96
mov edi, dword [esi + 0x358]
mov ecx, edi
call fcn.00418ff0
add edi, 8
mov dword [esi + 0x3b0], edi
mov ecx, dword [esi + 0x3b0]
mov eax, 0x5d4e59f5
cmp ecx, dword [esi + 0x54c]
je 0x41341d
mov eax, 0xafb2781a
mov ecx, dword [ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0x3b0]
mov dword [esi + 0x358], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x35c]
mov dword [esi + 0xc0], eax
mov ecx, dword [esi + 0xc0]
mov eax, 0xed592d65
cmp ecx, dword [esi + 0x2c]
jb 0x41346e
mov eax, 0x530ee5ef
mov ecx, dword [ebx]
mov dword [ecx], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [esi + 0x30]
add eax, 0xfffffffc
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x13c]
mov eax, dword [eax]
shl eax, 3
add eax, dword [esi + 0x30]
mov dword [esi + 0x3b4], eax
mov ecx, dword [esi + 0x3b4]
mov eax, 0xa08f6d15
cmp dword [esi + 0x30], ecx
je 0x413740
mov eax, 0x23e6339b
mov ecx, dword [ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0x3b4]
mov dword [esi + 0x368], eax
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0xca0450d
jmp 0x413b96
mov eax, dword [esi + 0x134]
sub esp, 4
mov dword [esp], eax
call fcn.004086f0
add esp, 4
mov eax, dword [ebx]
mov dword [eax], 0xfc542c8e
mov edi, dword [esi]
jmp 0x413b96
xchg edx, eax
or esp, esi
loopne 0x413906
sbb dh, byte [ebx - 0x4d]
mov bh, 0xd0
adc al, byte gs:[esi + 0x76]
retf
into
push ebx
sar dword [eax - 0x592113cb], 1
mov al, byte [esi + 0xc]
mov byte [esi + 0x214], al
mov byte [esi + 0x88], 0x34
mov byte [esi + 0x89], 0x81
mov eax, 2
add byte [eax], al
mov byte [esi + eax + 0x88], 0
add eax, 1
cmp eax, 6
jne 0x413908
xor eax, eax
cmp eax, 6
jae 0x413949
mov dl, byte [esi + eax + 0x88]
mov edi, eax
and edi, 0x20
xor edi, 0x20
mov ecx, eax
and ecx, 0xdf
sub ecx, edi
xor cl, dl
add cl, 0xa0
mov byte [esi + eax + 0x88], cl
add eax, 1
jmp 0x41391a
mov eax, dword [ebx]
mov dword [eax], 0x754a930f
mov edi, dword [esi]
jmp 0x413b96
mov eax, dword [ebx]
mov dword [eax], 0x8ae0e45a
mov edi, dword [esi]
jmp 0x413b96
test eax, 0x87280907
sbb eax, 0x919b9ecf
xor dword [edx - 0x75], edx
xchg byte [eax - 0x75000000], ah
mov ds, eax
add byte [eax], al
add byte [ebx + 0xc8908ec], al
and al, 0x89
inc esp
and al, 4
call fcn.00402060
add esp, 8
mov eax, dword [ebx]
mov dword [eax], 0x50684f94
jmp 0x413b96
jmp 0x40ee6e