Function at 0x431470
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [esp + 0xa4]
mov cl, byte [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x84], eax
and cl, 1
mov byte [esp + 0x83], cl
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], esi
mov eax, dword [0x48b78c]
and eax, 0xe034616b
mov edx, dword [0x48af70]
xor eax, edx
xor eax, 0xb9d24b7b
mov dword [0x48af70], eax
mov eax, dword [0x4871f8]
not eax
mov di, word [0x48190a]
mov dx, di
dec edx
mov di, dx
mov word [0x48190a], di
movsx edx, di
and edx, 0xabf5add7
or eax, edx
mov edx, dword [0x48c83c]
or edx, eax
mov dword [0x48c83c], edx
mov di, word [0x481a58]
mov ax, di
mov edx, eax
dec edx
mov di, dx
mov word [0x481a58], di
or eax, 0xa0c2
mov di, word [0x4801ee]
mov dx, di
xor edx, eax
mov di, dx
mov word [0x4801ee], di
mov dword [0x4854f0], 0x5e8a7175
mov dword [esp + 0x68], 0
mov di, word [0x47fade]
movsx eax, di
mov edx, dword [0x484d78]
add edx, eax
mov dword [0x484d78], edx
mov dword [esp + 0x64], 0
mov eax, dword [0x48cf50]
dec eax
mov dword [0x48cf50], eax
mov edx, dword [0x485a04]
and edx, eax
mov dword [0x485a04], edx
mov eax, esp
mov dword [eax + 4], 0x41
mov dword [eax], 0xf44
call fcn.00449170
mov dword [esp + 0x4c], eax
mov eax, dword [0x48e3cc]
or eax, 0x2ad5983a
cmp eax, 0xf7ffffff
jge 0x4315cf
mov eax, dword [0x489b64]
mov ecx, dword [0x48c6d8]
inc ecx
mov dword [0x48c6d8], ecx
and eax, ecx
mov ecx, dword [0x487488]
or eax, ecx
or eax, 0x96b5c9a4
mov dword [0x487488], eax
mov eax, 0x459c9243
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x209
mov dword [esp + 0x48], eax
call fcn.00449170
mov dword [esp + 0x74], eax
mov eax, dword [0x48bad8]
xor eax, 0x91289716
mov dword [0x48bad8], eax
mov eax, dword [esp + 0x74]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x59]
mov dword [ecx], eax
call fcn.004556d0
mov ecx, dword [0x48ae30]
or ecx, 0xfdff
mov dx, word [0x48071c]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x48071c], dx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x19d0
mov dword [esp + 0x44], eax
call fcn.00449170
mov dword [esp + 0x70], eax
mov dx, word [0x4801ba]
mov ax, dx
dec eax
mov dx, ax
mov word [0x4801ba], dx
movsx eax, dx
mov ecx, dword [0x48ec48]
and ecx, eax
mov dword [0x48ec48], ecx
mov eax, dword [esp + 0x74]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.0044fa10
mov dx, word [0x483e0a]
mov ax, dx
add eax, 0x17d0d467
mov dx, ax
mov word [0x483e0a], dx
mov eax, dword [esp + 0x70]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x55]
mov dword [ecx], eax
call fcn.004556d0
mov dword [0x48bad4], 0x7081ea39
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0xb18
mov dword [esp + 0x40], eax
call fcn.00449170
mov dword [esp + 0x6c], eax
mov eax, dword [0x489094]
inc eax
mov dword [0x489094], eax
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jl 0x43173e
mov eax, 0x6d80b009
mov ecx, dword [0x484f24]
mov edx, ecx
dec edx
mov dword [0x484f24], edx
add ecx, 0x5332c96
or ecx, 0xf47245ca
mov edx, dword [0x48762c]
sub eax, edx
and eax, 0x96a6b0ef
cmp ecx, eax
je 0x431739
mov eax, dword [0x48d1e0]
add eax, 0xd10b0723
mov dword [0x48d1e0], eax
jmp 0x43173e
mov eax, 0xfffe9bf5
mov ecx, dword [esp + 0x70]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x3c], eax
call fcn.0044fa10
mov si, word [0x48147e]
mov ax, si
or eax, 0xd72d
mov si, ax
mov word [0x48147e], si
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x51]
mov dword [ecx], eax
call fcn.004556d0
mov ecx, dword [0x48e980]
and ecx, 0x2f088150
mov dword [0x48e980], ecx
mov ecx, dword [esp + 0x6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 4
mov dword [esp + 0x38], eax
call fcn.0044fa10
mov eax, dword [0x48bd70]
imul eax, eax, 0xf4ea2d89
mov ecx, dword [0x4856f8]
inc ecx
mov dword [0x4856f8], ecx
xor eax, ecx
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jne 0x4317e2
mov dword [0x48c600], 0xaa58beff
jmp 0x4317e7
cmp dword [esp + 0x7c], 0
je 0x431e42
mov eax, 0x57a5b6c1
mov ecx, dword [0x48afcc]
inc ecx
mov dword [0x48afcc], ecx
imul ecx, ecx, 0xd2759bfb
mov edx, 0xfc433f96
sub edx, ecx
mov ecx, dword [0x485c00]
xor ecx, edx
mov dword [0x485c00], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x486dcc]
xor ecx, 0xebbd3f34
mov dword [0x486dcc], ecx
mov ecx, dword [esp + 0x78]
mov bl, byte [ecx]
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 0x61], bl
mov si, word [0x48381e]
movsx ecx, si
xor ecx, 0xf669aa7f
mov edx, dword [0x484f90]
imul edx, ecx
mov dword [0x484f90], edx
mov ecx, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [0x4878a8]
dec ecx
mov dword [0x4878a8], ecx
or ecx, 0x6cda35ba
and ecx, 0x7ddb75bb
mov dword [0x485af4], ecx
mov ecx, dword [esp + 0x78]
inc ecx
mov dword [esp + 0x78], ecx
mov ecx, dword [0x48b5f8]
mov edx, ecx
inc edx
mov dword [0x48b5f8], edx
mov edx, dword [0x48b138]
mov edi, edx
inc edi
mov dword [0x48b138], edi
and ecx, edx
cmp eax, ecx
jg 0x4318e2
mov eax, dword [0x48ab00]
add eax, 0x544b6aef
xor eax, 0xffd4b52c
mov ecx, dword [0x48a5f8]
or ecx, eax
mov dword [0x48a5f8], ecx
jmp 0x431907
mov eax, dword [0x4869fc]
and eax, 0x4210
xor eax, 0xcce9
mov cx, word [0x4826e4]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4826e4], cx
cmp dword [esp + 0x68], 3
jne 0x431e2e
mov ax, word [0x47ff74]
movsx ecx, ax
sar ecx, 5
cmp ecx, 0x39e5b6b6
jl 0x43194c
mov eax, dword [0x48969c]
lea eax, [eax*8 + 0x2bb12e09]
mov ecx, dword [0x486c3c]
or eax, ecx
mov ecx, dword [0x4861fc]
add ecx, eax
mov dword [0x4861fc], ecx
mov eax, 0x1175b85
movzx ecx, byte [esp + 0x61]
shr ecx, 2
mov dl, cl
mov byte [esp + 0x5d], dl
mov ecx, dword [0x48e7d0]
and ecx, 0x1baeb6a
mov si, word [0x482f8c]
movsx edi, si
xor ecx, edi
mov edi, dword [0x48ab9c]
sub edi, ecx
mov dword [0x48ab9c], edi
movzx ecx, byte [esp + 0x61]
and ecx, 3
shl ecx, 4
mov dl, cl
mov byte [esp + 0x5e], dl
mov ecx, dword [0x489934]
imul ecx, ecx, 0xffe88fcd
add ecx, 0x7989ffb5
mov edi, dword [0x488c74]
or edi, ecx
mov dword [0x488c74], edi
movzx ecx, byte [esp + 0x62]
shr ecx, 4
movzx edi, byte [esp + 0x5e]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x5e], dl
mov ecx, dword [0x4862cc]
or ecx, 0xee455300
mov edi, dword [0x487b9c]
add edi, ecx
mov dword [0x487b9c], edi
movzx ecx, byte [esp + 0x62]
and ecx, 0xf
shl ecx, 2
mov dl, cl
mov byte [esp + 0x5f], dl
mov ecx, dword [0x4863a8]
mov edi, 0xd8b1bd37
sub edi, ecx
mov si, word [0x47fc6a]
mov cx, si
sub ecx, edi
mov si, cx
mov word [0x47fc6a], si
movzx ecx, byte [esp + 0x63]
shr ecx, 6
movzx edi, byte [esp + 0x5f]
add edi, ecx
mov ecx, edi
mov dl, cl
mov byte [esp + 0x5f], dl
mov si, word [0x480b96]
mov cx, si
xor ecx, 0x4df
mov si, cx
mov word [0x480b96], si
movzx ecx, byte [esp + 0x63]
and ecx, 0x3f
mov dl, cl
mov byte [esp + 0x60], dl
mov ecx, dword [0x485a9c]
mov edi, ecx
inc edi
mov dword [0x485a9c], edi
mov si, word [0x483e5a]
mov di, si
dec edi
mov si, di
mov word [0x483e5a], si
movsx edi, si
neg edi
lea ecx, [ecx + edi + 0x58c3f9eb]
mov edi, dword [0x48a0d0]
xor edi, 0xffffffff
imul edi, edi, 0x7971648e
sub eax, edi
cmp ecx, eax
je 0x431ac7
mov eax, dword [0x48ac24]
dec eax
mov dword [0x48ac24], eax
imul eax, eax, 0x4a12be70
or eax, 0xa3b73593
mov ecx, dword [0x48aad8]
sub ecx, eax
mov dword [0x48aad8], ecx
mov dword [esp + 0x68], 0
mov eax, dword [0x48e700]
dec eax
mov dword [0x48e700], eax
mov cx, word [0x47ffca]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x47ffca], cx
cmp dword [esp + 0x68], 4
je 0x431d98
mov eax, dword [0x485538]
and eax, 0xd349d174
mov ecx, dword [0x4867cc]
xor ecx, eax
mov dword [0x4867cc], ecx
test byte [esp + 0x83], 1
je 0x431c64
mov eax, dword [esp + 0x68]
movzx eax, byte [esp + eax + 0x5d]
cmp eax, 0x3d
jle 0x431c64
mov ax, word [0x481874]
mov cx, ax
shl ecx, 3
xor ecx, 0x801a
mov ax, word [0x482e08]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x482e08], ax
mov ecx, dword [esp + 0x68]
movzx ecx, byte [esp + ecx + 0x5d]
cmp ecx, 0x3e
jne 0x431bc7
mov eax, dword [0x48636c]
mov ecx, eax
inc ecx
mov dword [0x48636c], ecx
add eax, 0x70bc612d
mov ecx, dword [0x484ed4]
sub ecx, eax
mov dword [0x484ed4], ecx
mov ecx, dword [esp + 0x84]
mov eax, esp
lea edx, [esp + 0x59]
mov dword [eax], edx
call fcn.0044ff40
sub esp, 4
mov si, word [0x4849ae]
mov cx, si
xor ecx, 0x2004
mov si, cx
mov word [0x4849ae], si
mov dword [esp + 0x34], eax
jmp 0x431c47
mov eax, 0x106a4070
mov ecx, dword [0x489c90]
mov edx, ecx
inc edx
mov dword [0x489c90], edx
mov edx, 0x9c018bec
sub edx, ecx
mov ecx, dword [0x485868]
add ecx, edx
mov dword [0x485868], ecx
mov ecx, dword [esp + 0x84]
mov edx, esp
lea esi, [esp + 0x55]
mov dword [edx], esi
mov dword [esp + 0x30], eax
call fcn.0044ff40
sub esp, 4
mov di, word [0x47fb36]
mov cx, di
dec ecx
mov di, cx
mov word [0x47fb36], di
movsx ecx, di
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x2c], eax
jge 0x431c42
mov eax, dword [0x489b08]
xor eax, 0xb170c6
mov dword [0x489b08], eax
jmp 0x431c47
mov ax, word [0x481066]
mov cx, ax
imul ecx, ecx, 0x583af452
mov ax, cx
mov word [0x481066], ax
jmp 0x431d3a
mov eax, 0xd3bf3ef0
mov ecx, dword [0x489284]
shl ecx, 9
mov dx, word [0x480ab6]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x480ab6], dx
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x68]
movzx esi, byte [esp + esi + 0x5d]
mov edi, dword [esp + 0x4c]
movsx esi, byte [edi + esi]
mov edi, esp
mov dword [edi], esi
mov dword [esp + 0x28], eax
call fcn.0044ff70
sub esp, 4
mov ecx, dword [0x486e2c]
dec ecx
mov dword [0x486e2c], ecx
mov esi, dword [esp + 0x28]
sub esi, ecx
cmp esi, 0x69848daa
mov dword [esp + 0x24], eax
jg 0x431d35
mov eax, dword [0x4888f8]
dec eax
mov dword [0x4888f8], eax
mov ecx, dword [0x488adc]
mov edx, ecx
inc edx
mov dword [0x488adc], edx
imul ecx, ecx, 0xeba2d59f
cmp eax, ecx
jle 0x431d30
mov eax, 0x9bcb466e
mov cx, word [0x483696]
mov dx, cx
inc edx
mov si, dx
mov word [0x483696], si
movsx edx, cx
or edx, 0xe4e961c2
cmp eax, edx
jne 0x431d2b
jmp 0x431d2b
jmp 0x431d30
jmp 0x431d35
jmp 0x431d3a
mov eax, 0x412e393b
mov cx, word [0x47fef2]
mov dx, cx
inc edx
mov cx, dx
mov word [0x47fef2], cx
movsx edx, cx
cmp eax, edx
jg 0x431d69
mov dword [0x48687c], 0x2e451caa
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov eax, dword [0x484ba0]
mov ecx, eax
dec ecx
mov dword [0x484ba0], ecx
xor eax, 0x5e35dbb5
mov ecx, dword [0x48c094]
sub ecx, eax
mov dword [0x48c094], ecx
jmp 0x431af0
mov eax, 0x91b04995
mov ecx, dword [0x48a720]
cmp eax, ecx
jle 0x431dd3
mov ax, word [0x482480]
movsx ecx, ax
add ecx, 0x2b98e4c8
or ecx, 0x105b6520
mov edx, dword [0x489f2c]
xor edx, ecx
mov dword [0x489f2c], edx
jmp 0x431de3
mov eax, dword [0x485b84]
imul eax, eax, 0x94840030
mov dword [0x485b84], eax
mov eax, 0x6d3ce272
mov dword [esp + 0x68], 0
mov ecx, dword [0x48bed0]
xor ecx, 0xc0f400da
cmp eax, ecx
jle 0x431e29
mov ax, word [0x4830c6]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4830c6], dx
movsx ecx, ax
mov esi, dword [0x48a19c]
or esi, ecx
mov dword [0x48a19c], esi
jmp 0x431e2e
mov eax, dword [0x48ce60]
add eax, 0x2a61dd25
mov dword [0x48ce60], eax
jmp 0x4317e7
mov eax, dword [0x48bce8]
mov ecx, 0x1aac2865
sub ecx, eax
mov eax, dword [0x486630]
or ecx, eax
or ecx, 0x795f88d8
mov dword [0x486630], ecx
cmp dword [esp + 0x68], 0
je 0x432522
mov eax, dword [0x48c2e8]
sar eax, 5
mov cx, word [0x48362c]
movsx edx, cx
imul eax, edx
imul eax, eax, 0x43da25f6
mov edx, dword [0x48da48]
cmp eax, edx
jle 0x431ef5
mov ax, word [0x481764]
movsx ecx, ax
mov ax, word [0x48449e]
mov dx, ax
inc edx
mov si, dx
mov word [0x48449e], si
movsx edx, ax
xor ecx, edx
cmp ecx, 0xb0406020
jg 0x431ef0
mov eax, dword [0x487aa4]
mov cx, word [0x47ffd0]
mov dx, cx
inc edx
mov cx, dx
mov word [0x47ffd0], cx
movsx edx, cx
and eax, edx
mov edx, dword [0x484e74]
or edx, eax
mov dword [0x484e74], edx
jmp 0x431ef5
mov eax, 0x100
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
mov ecx, dword [0x48872c]
shl ecx, 9
and ecx, 0xdb00d000
mov edx, dword [0x48b258]
and ecx, edx
cmp eax, ecx
jle 0x431f30
mov eax, dword [0x48bd6c]
or eax, 0x8986dce8
mov dword [0x48bd6c], eax
jmp 0x431f35
cmp dword [esp + 0x64], 3
jge 0x431fc5
mov ax, word [0x483a20]
mov cx, ax
add ecx, 0xbe6e7772
mov ax, cx
mov word [0x483a20], ax
mov ecx, dword [esp + 0x64]
mov byte [esp + ecx + 0x61], 0
mov ecx, dword [0x48c8d4]
and ecx, 0x425357ad
mov dword [0x48c8d4], ecx
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [0x48b730]
mov edx, dword [0x4853e0]
inc edx
mov dword [0x4853e0], edx
sub ecx, edx
cmp ecx, 0x12480620
jl 0x431fb1
mov eax, dword [0x486940]
or eax, 0xd3143f58
mov dword [0x486940], eax
jmp 0x431fc0
mov eax, dword [0x485084]
xor eax, 0x7654a6b8
mov dword [0x485084], eax
jmp 0x431f35
mov eax, 0x811be64b
mov cx, word [0x483000]
mov dx, cx
mov esi, edx
inc esi
mov cx, si
mov word [0x483000], cx
xor edx, 0xa40f
mov cx, word [0x484142]
mov si, cx
imul esi, edx
mov cx, si
mov word [0x484142], cx
movzx edx, byte [esp + 0x61]
shr edx, 2
mov bl, dl
mov byte [esp + 0x5d], bl
mov edx, dword [0x485fe8]
add edx, 0x800a1d
mov dword [0x485fe8], edx
movzx edx, byte [esp + 0x61]
and edx, 3
shl edx, 4
mov bl, dl
mov byte [esp + 0x5e], bl
mov edx, dword [0x488120]
add edx, 0xc822bb80
mov esi, dword [0x48cac4]
sub esi, edx
mov dword [0x48cac4], esi
movzx edx, byte [esp + 0x62]
shr edx, 4
movzx esi, byte [esp + 0x5e]
add esi, edx
mov edx, esi
mov bl, dl
mov byte [esp + 0x5e], bl
mov edx, dword [0x48da74]
mov esi, dword [0x48eb04]
inc esi
mov dword [0x48eb04], esi
sub edx, esi
cmp eax, edx
jle 0x4320a4
mov eax, dword [0x489ec8]
shl eax, 2
imul eax, eax, 0xb47eaad2
cmp eax, 0x2e49da4e
jle 0x43209f
mov word [0x481136], 0xc280
jmp 0x4320a4
movzx eax, byte [esp + 0x62]
and eax, 0xf
shl eax, 2
mov cl, al
mov byte [esp + 0x5f], cl
mov eax, dword [0x48a050]
imul eax, eax, 0xe2d7c05
mov dword [0x48a050], eax
movzx eax, byte [esp + 0x63]
shr eax, 6
movzx edx, byte [esp + 0x5f]
add edx, eax
mov cl, dl
mov byte [esp + 0x5f], cl
mov si, word [0x47fc76]
mov ax, si
add eax, 0x358c430a
mov si, ax
mov word [0x47fc76], si
movzx eax, byte [esp + 0x63]
and eax, 0x3f
mov cl, al
mov byte [esp + 0x60], cl
mov eax, dword [0x48d954]
add eax, 0x2b1ec4e2
mov dword [0x48d954], eax
mov dword [esp + 0x64], 0
mov si, word [0x480414]
movsx eax, si
mov edx, dword [0x4855ac]
imul eax, edx
add eax, eax
mov dword [0x4855ac], eax
mov eax, 0xe5795483
mov ecx, dword [0x48b0e4]
mov dx, word [0x48251a]
mov si, dx
dec esi
mov di, si
mov word [0x48251a], di
movsx esi, dx
imul ecx, esi
imul ecx, ecx, 0x509fbf58
cmp eax, ecx
jl 0x432179
mov eax, dword [0x48bea4]
mov ecx, dword [0x48c408]
add ecx, eax
mov dword [0x48c408], ecx
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x68]
jle 0x43219b
mov eax, dword [0x485a00]
or eax, 0x8aa6a8d4
mov dword [0x485a00], eax
jmp 0x4323ba
mov eax, dword [0x48c688]
add eax, 0xe3f2629e
mov dword [0x48c688], eax
test byte [esp + 0x83], 1
je 0x43234a
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x5d]
cmp eax, 0x3d
jle 0x43234a
mov eax, 0x1ee8e01f
mov ecx, dword [0x48b148]
dec ecx
mov dword [0x48b148], ecx
cmp eax, ecx
je 0x4321f3
mov eax, dword [0x484d44]
or eax, 0xbfd9fa9b
mov dword [0x484d44], eax
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x5d]
cmp eax, 0x3e
jne 0x43226c
mov word [0x4824ea], 0xe1d3
mov ecx, dword [esp + 0x84]
mov eax, esp
lea edx, [esp + 0x59]
mov dword [eax], edx
call fcn.0044ff40
sub esp, 4
mov ecx, dword [0x48934c]
cmp ecx, 0xef7fa793
mov dword [esp + 0x20], eax
jl 0x43224f
mov eax, dword [0x487b4c]
or eax, 0x52501
mov dword [0x487b4c], eax
jmp 0x432267
mov ax, word [0x482e38]
mov cx, ax
xor ecx, 0xa52d
mov ax, cx
mov word [0x482e38], ax
jmp 0x432324
mov eax, 0xb6089f66
mov cx, word [0x481d4a]
mov dx, cx
add edx, 0x37f5b800
mov cx, dx
mov word [0x481d4a], cx
mov ecx, dword [esp + 0x84]
mov edx, esp
lea esi, [esp + 0x55]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
call fcn.0044ff40
sub esp, 4
mov ecx, dword [0x486140]
mov edx, ecx
inc edx
mov dword [0x486140], edx
mov edx, dword [esp + 0x1c]
cmp edx, ecx
mov dword [esp + 0x18], eax
jne 0x432310
mov eax, 0x240ca224
mov ecx, dword [0x4893bc]
sar ecx, 7
sub ecx, 0x15ec720c
add ecx, 0xcd3e4630
cmp eax, ecx
jg 0x43230b
mov eax, dword [0x48ada4]
inc eax
mov dword [0x48ada4], eax
mov ecx, dword [0x484cc0]
and eax, ecx
inc ecx
mov dword [0x484cc0], ecx
and eax, 0x2dc7290c
mov dword [0x484dc8], eax
jmp 0x43231f
mov eax, dword [0x486bcc]
add eax, 0xbeb94a1b
mov dword [0x486bcc], eax
jmp 0x432324
mov eax, dword [0x48bd78]
mov ecx, eax
inc ecx
mov dword [0x48bd78], ecx
or eax, 0x1010201
mov ecx, dword [0x48cf58]
xor ecx, eax
mov dword [0x48cf58], ecx
jmp 0x43238e
mov dword [0x48c34c], 0xc9315b19
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x64]
movzx eax, byte [esp + eax + 0x5d]
mov edx, dword [esp + 0x4c]
movsx eax, byte [edx + eax]
mov edx, esp
mov dword [edx], eax
call fcn.0044ff70
sub esp, 4
mov ecx, dword [0x48af08]
imul ecx, ecx, 0x501040
mov dword [0x48af08], ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x48d618]
add eax, 0x2122845b
mov dword [0x48d618], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x48c11c]
or eax, 0x79e7fef
mov dword [0x48c11c], eax
jmp 0x432132
jmp 0x4323bf
cmp dword [esp + 0x68], 3
jge 0x432513
mov eax, 0x84804562
mov cx, word [0x481424]
mov dx, cx
add edx, 0x163c6e33
mov cx, dx
mov word [0x481424], cx
mov edx, dword [esp + 0x68]
inc edx
mov dword [esp + 0x68], edx
mov cx, word [0x483bf8]
mov dx, cx
inc edx
mov si, dx
mov word [0x483bf8], si
movsx edx, cx
cmp eax, edx
je 0x432430
mov eax, dword [0x48bd08]
imul eax, eax, 0x890fb0ab
xor eax, 0xf76fb311
mov ecx, dword [0x48a1f8]
and ecx, eax
mov dword [0x48a1f8], ecx
test byte [esp + 0x83], 1
je 0x4324a6
mov eax, 0xa2e22162
mov ecx, dword [0x48bba4]
and ecx, 0x56edb348
or ecx, 0x1daf951c
cmp eax, ecx
jne 0x43246c
mov eax, dword [0x48aa84]
xor eax, 0xc1f353b
mov dword [0x48aa84], eax
mov ecx, dword [esp + 0x84]
mov eax, esp
lea edx, [esp + 0x51]
mov dword [eax], edx
call fcn.0044ff40
sub esp, 4
mov si, word [0x482b24]
mov cx, si
add ecx, 0x9dfd3112
mov si, cx
mov word [0x482b24], si
mov dword [esp + 0x10], eax
jmp 0x4324eb
mov ax, word [0x480020]
mov cx, ax
add ecx, 0x52cf3da7
mov ax, cx
mov word [0x480020], ax
mov ecx, dword [esp + 0x84]
mov edx, esp
mov dword [edx], 0x3d
call fcn.0044ff70
sub esp, 4
mov ecx, dword [0x48d028]
add ecx, 0xfd8fe686
mov dword [0x48d028], ecx
mov dword [esp + 0xc], eax
mov eax, dword [0x487ab4]
not eax
imul eax, eax, 0xb1eb96b5
mov cx, word [0x48094a]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x48094a], cx
jmp 0x4323bf
mov eax, dword [0x48d5c0]
add eax, 0xdddfff80
mov dword [0x48d5c0], eax
mov eax, 0x1d23ecad
mov ecx, dword [0x488640]
xor ecx, 0x8c52cb09
mov dword [0x488640], ecx
mov ecx, dword [esp + 0x4c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x41
mov dword [esp + 8], eax
call fcn.0044fa10
mov eax, dword [0x489afc]
imul eax, eax, 0xa1b9ec09
mov dword [0x489afc], eax
mov eax, esp
lea ecx, [esp + 0x59]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004238e0
mov eax, dword [0x4886ac]
xor eax, 0xa33a6434
mov dword [0x4886ac], eax
mov eax, esp
lea ecx, [esp + 0x55]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004238e0
mov eax, dword [0x485e74]
and eax, 0xf828c9b9
mov dword [0x485e74], eax
mov eax, esp
lea ecx, [esp + 0x51]
mov dword [eax], ecx
mov dword [eax + 4], 4
call fcn.004238e0
mov eax, dword [0x48dde4]
sar eax, 6
mov ecx, dword [esp + 8]
cmp ecx, eax
jne 0x432611
mov ax, word [0x482eee]
movsx ecx, ax
xor ecx, 0x606fa4aa
cmp ecx, 0xec61061d
jne 0x43260c
mov eax, dword [0x48c058]
dec eax
mov dword [0x48c058], eax
and eax, 0xc4382f33
mov ecx, dword [0x488b64]
or eax, ecx
or eax, 0x1bc65084
mov dword [0x488b64], eax
jmp 0x432611
add esp, 0x88
pop esi
pop edi
pop ebx
ret