Function at 0x4249c0
Capabilities:
Encrypt data using speck

Disassembly:
push esi
mov esi, dword [esp + 8]
lea eax, [esi - 0x10002000]
cmp eax, 0xfff
ja 0x4249e2
mov ecx, dword [esp + 0xc]
push ecx
push esi
call fcn.004abe40
add esp, 8
pop esi
ret
cmp esi, 0x10003800
jb 0x424a02
cmp esi, 0x10003c00
jae 0x424a0a
mov edx, dword [esp + 0xc]
push edx
push esi
call fcn.0041d010
add esp, 8
pop esi
ret
cmp esi, 0x10003c00
jb 0x424a22
cmp esi, 0x10004000
jae 0x424a22
mov eax, dword [esp + 0xc]
push eax
push esi
call fcn.0041ed70
add esp, 8
pop esi
ret
cmp esi, 0x1000a040
push edi
ja 0x425244
je 0x4251df
cmp esi, 0x10003000
ja 0x424bd4
je 0x424b96
cmp esi, 0x10000830
ja 0x424b09
je 0x424afa
cmp esi, 0x10000030
ja 0x424ab6
je 0x424aa7
mov eax, esi
sub eax, 0x10000000
je 0x424a98
sub eax, 0x10
je 0x424a89
sub eax, 0x10
jne 0x42606b
pop edi
pop esi
mov dword [esp + 4], 0
jmp fcn.0047e630
pop edi
pop esi
mov dword [esp + 4], 0
jmp fcn.0047e3e0
pop edi
pop esi
mov dword [esp + 4], 0
jmp fcn.0047e340
pop edi
pop esi
mov dword [esp + 4], 0
jmp fcn.0047e030
mov eax, esi
sub eax, 0x10000800
je 0x424aeb
sub eax, 0x10
je 0x424adc
sub eax, 0x10
jne 0x42606b
pop edi
pop esi
mov dword [esp + 4], 1
jmp fcn.0047e630
pop edi
pop esi
mov dword [esp + 4], 1
jmp fcn.0047e3e0
pop edi
pop esi
mov dword [esp + 4], 1
jmp fcn.0047e340
pop edi
pop esi
mov dword [esp + 4], 1
jmp fcn.0047e030
cmp esi, 0x10001800
ja 0x424b66
je 0x424b57
mov eax, esi
sub eax, 0x10001000
je 0x424b48
sub eax, 0x10
je 0x424b39
sub eax, 0x10
jne 0x42606b
pop edi
pop esi
mov dword [esp + 4], 2
jmp fcn.0047e630
pop edi
pop esi
mov dword [esp + 4], 2
jmp fcn.0047e3e0
pop edi
pop esi
mov dword [esp + 4], 2
jmp fcn.0047e340
pop edi
pop esi
mov dword [esp + 4], 3
jmp fcn.0047e340
mov eax, esi
sub eax, 0x10001810
je 0x424b87
sub eax, 0x10
jne 0x42606b
pop edi
pop esi
mov dword [esp + 4], 3
jmp fcn.0047e630
pop edi
pop esi
mov dword [esp + 4], 3
jmp fcn.0047e3e0
mov ecx, dword [esp + 0x10]
mov edx, dword [0x263e498]
mov eax, ecx
and eax, 8
test cl, 1
mov dword [edx + 0x3000], eax
je 0x424bb7
pop edi
pop esi
jmp fcn.0042f8c0
test eax, eax
mov eax, dword [0x263e498]
je 0x424bca
or dword [eax + 0x3020], 8
pop edi
pop esi
ret
and dword [eax + 0x3020], 0xfffffff7
pop edi
pop esi
ret
cmp esi, 0x10009040
ja 0x424f1c
je 0x424ec0
cmp esi, 0x10009000
ja 0x424d93
je 0x424d01
mov eax, esi
sub eax, 0x10003010
je 0x424cba
sub eax, 0x10
je 0x424cab
sub eax, 0x4fe0
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 8
je 0x424c33
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x424c49
push esi
push str.VIF0dma__lx_n
call fcn.00472b80
add esp, 8
mov eax, esi
and al, 0xc
cmp al, 4
jne 0x424c77
test esi, 0xffff0000
jne 0x424c77
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0x8000]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0x8000], ecx
jmp 0x424c82
mov eax, dword [0x263e498]
mov dword [eax + 0x8000], esi
mov eax, dword [0x263e498]
test dword [eax + 0x8000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.0041cec0
pop edi
pop esi
mov dword [esp + 4], str.Gifstat_write_value___x_n
jmp fcn.00409cc0
mov eax, dword [esp + 0x10]
test al, 1
mov edx, dword [0x263e498]
mov dword [edx + 0x3010], eax
mov ecx, dword [0x263e498]
je 0x424cdd
or dword [ecx + 0x3020], 1
jmp 0x424ce4
and dword [ecx + 0x3020], 0xfffffffe
test al, 4
mov eax, dword [0x263e498]
je 0x424cf7
or dword [eax + 0x3020], 4
pop edi
pop esi
ret
and dword [eax + 0x3020], 0xfffffffb
pop edi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 8
je 0x424d1b
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x424d31
push esi
push str.VIF1dma_CHCR__lx_n
call fcn.00472b80
add esp, 8
mov eax, esi
and al, 0xc
cmp al, 4
jne 0x424d5f
test esi, 0xffff0000
jne 0x424d5f
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0x9000]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0x9000], ecx
jmp 0x424d6a
mov eax, dword [0x263e498]
mov dword [eax + 0x9000], esi
mov eax, dword [0x263e498]
test dword [eax + 0x9000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.0041e920
mov eax, esi
sub eax, 0x10009010
je 0x424e65
sub eax, 0x10
je 0x424e0a
sub eax, 0x10
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 4
je 0x424dc8
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x424de0
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x424dfb
push esi
push str.VIF1dma_TADR__lx_n
call fcn.00472b80
add esp, 8
mov edx, dword [0x263e498]
pop edi
mov dword [edx + 0x9030], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x424e24
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x424e3b
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x424e56
push esi
push str.VIF1dma_QWC__lx_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
pop edi
mov dword [ecx + 0x9020], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x424e7f
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x424e97
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x424eb2
push esi
push str.VIF1dma_Madr__lx_n
call fcn.00472b80
add esp, 8
mov eax, dword [0x263e498]
pop edi
mov dword [eax + 0x9010], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x424eda
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x424ef2
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x424f0d
push esi
push str.VIF1dma_ASR0__lx_n
call fcn.00472b80
add esp, 8
mov edx, dword [0x263e498]
pop edi
mov dword [edx + 0x9040], esi
pop esi
ret
cmp esi, 0x1000a010
ja 0x425105
je 0x4250a0
mov eax, esi
sub eax, 0x10009050
je 0x425045
sub eax, 0x30
je 0x424fea
sub eax, 0xf80
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 8
je 0x424f69
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x424f85
mov eax, dword [0x602ae0]
push esi
push eax
push str.0x_8.8x_hwWrite32:_GSdma__lx_n
call fcn.00472b80
add esp, 0xc
mov ecx, esi
and cl, 0xc
cmp cl, 4
jne 0x424fb5
test esi, 0xffff0000
jne 0x424fb5
mov eax, dword [0x263e498]
mov edx, dword [eax + 0xa000]
movzx ecx, si
and edx, 0xffff0000
or edx, ecx
mov dword [eax + 0xa000], edx
jmp 0x424fc1
mov edx, dword [0x263e498]
mov dword [edx + 0xa000], esi
mov eax, dword [0x263e498]
test dword [eax + 0xa000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.004329f0
mov eax, dword [0x263cffc]
and eax, 4
je 0x425004
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42501b
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425036
push esi
push str.VIF1dma_SADR__lx_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
pop edi
mov dword [ecx + 0x9080], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x42505f
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425077
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425092
push esi
push str.VIF1dma_ASR1__lx_n
call fcn.00472b80
add esp, 8
mov eax, dword [0x263e498]
pop edi
mov dword [eax + 0x9050], esi
pop esi
ret
mov esi, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xa010], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4250ca
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4250e2
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a010
push str.Hardware_write_DMA2_MADR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, esi
sub eax, 0x1000a020
je 0x42517b
sub eax, 0x10
jne 0x42606b
mov eax, dword [0x263e498]
mov esi, dword [esp + 0x10]
mov dword [eax + 0xa030], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425140
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425158
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a030
push str.Hardware_write_DMA2_TADDR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov edx, dword [0x263e498]
mov dword [edx + 0xa020], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4251a5
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4251bc
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a020
push str.Hardware_write_DMA2_QWC_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xa040], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425209
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425221
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a040
push str.Hardware_write_DMA2_ASR0_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
cmp esi, 0x1000c420
ja 0x425991
je 0x425936
cmp esi, 0x1000b400
ja 0x425637
je 0x4255a2
cmp esi, 0x1000b010
ja 0x42545a
je 0x4253f6
mov eax, esi
sub eax, 0x1000a050
je 0x425392
sub eax, 0x30
je 0x42532d
sub eax, 0xf80
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 8
je 0x4252b5
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x4252cb
push esi
push str.IPU0dma__lx_n
call fcn.00472b80
add esp, 8
mov eax, esi
and al, 0xc
cmp al, 4
jne 0x4252f9
test esi, 0xffff0000
jne 0x4252f9
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0xb000]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0xb000], ecx
jmp 0x425304
mov eax, dword [0x263e498]
mov dword [eax + 0xb000], esi
mov eax, dword [0x263e498]
test dword [eax + 0xb000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.004ab790
mov esi, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xa080], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425357
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42536f
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a080
push str.Hardware_write_DMA2_SADDR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, dword [0x263e498]
mov esi, dword [esp + 0x10]
mov dword [eax + 0xa050], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4253bb
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4253d3
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000a050
push str.Hardware_write_DMA2_ASR1_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov edx, dword [0x263e498]
mov dword [edx + 0xb010], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425420
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425437
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b010
push str.Hardware_write_IPU0DMA_MADR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, esi
sub eax, 0x1000b020
je 0x42553e
sub eax, 0x10
je 0x4254da
sub eax, 0x50
jne 0x42606b
mov esi, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xb080], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x42549f
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4254b7
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b080
push str.Hardware_write_IPU0DMA_SADDR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, dword [0x263e498]
mov esi, dword [esp + 0x10]
mov dword [eax + 0xb030], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425503
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42551b
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b030
push str.Hardware_write_IPU0DMA_TADR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov edx, dword [0x263e498]
mov dword [edx + 0xb020], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425568
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42557f
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b020
push str.Hardware_write_IPU0DMA_QWC_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 8
je 0x4255bc
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x4255d2
push esi
push str.IPU1dma__lx_n
call fcn.00472b80
add esp, 8
mov ecx, esi
and cl, 0xc
cmp cl, 4
jne 0x425602
test esi, 0xffff0000
jne 0x425602
mov eax, dword [0x263e498]
mov edx, dword [eax + 0xb400]
movzx ecx, si
and edx, 0xffff0000
or edx, ecx
mov dword [eax + 0xb400], edx
jmp 0x42560e
mov edx, dword [0x263e498]
mov dword [edx + 0xb400], esi
mov eax, dword [0x263e498]
test dword [eax + 0xb400], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.004ab770
cmp esi, 0x1000b480
ja 0x4257f5
je 0x425791
mov eax, esi
sub eax, 0x1000b410
je 0x42572c
sub eax, 0x10
je 0x4256c8
sub eax, 0x10
jne 0x42606b
mov eax, dword [0x263e498]
mov esi, dword [esp + 0x10]
mov dword [eax + 0xb430], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x42568d
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4256a5
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b430
push str.Hardware_write_IPU1DMA_TADR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov edx, dword [0x263e498]
mov dword [edx + 0xb420], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4256f2
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425709
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b420
push str.Hardware_write_IPU1DMA_QWC_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov esi, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xb410], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x425756
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42576e
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b410
push str.Hardware_write_IPU1DMA_MADR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
mov eax, dword [0x263e498]
mov esi, dword [esp + 0x10]
mov dword [eax + 0xb480], esi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4257ba
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4257d2
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
push esi
push 0x1000b480
push str.Hardware_write_IPU1DMA_SADDR_32bit_at__x_with_value__x_n
call fcn.00472b80
add esp, 0xc
pop edi
pop esi
ret
cmp esi, 0x1000c000
je 0x4258a1
cmp esi, 0x1000c400
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 8
je 0x425827
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x42583d
push esi
push str.SIF1dma__lx_n
call fcn.00472b80
add esp, 8
mov edx, esi
and dl, 0xc
cmp dl, 4
jne 0x42586d
test esi, 0xffff0000
jne 0x42586d
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0xc400]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0xc400], ecx
jmp 0x425878
mov eax, dword [0x263e498]
mov dword [eax + 0xc400], esi
mov eax, dword [0x263e498]
test dword [eax + 0xc400], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.00494170
mov eax, dword [0x263cffc]
and eax, 8
je 0x4258bb
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x4258d1
push esi
push str.SIF0dma__lx_n
call fcn.00472b80
add esp, 8
mov ecx, esi
and cl, 0xc
cmp cl, 4
jne 0x425901
test esi, 0xffff0000
jne 0x425901
mov eax, dword [0x263e498]
mov edx, dword [eax + 0xc000]
movzx ecx, si
and edx, 0xffff0000
or edx, ecx
mov dword [eax + 0xc000], edx
jmp 0x42590d
mov edx, dword [0x263e498]
mov dword [edx + 0xc000], esi
mov eax, dword [0x263e498]
test dword [eax + 0xc000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.004940a0
mov eax, dword [0x263cffc]
and eax, 4
je 0x425950
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425967
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425982
push esi
push str.SIF1dma_QWC___lx_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
pop edi
mov dword [ecx + 0xc420], esi
pop esi
ret
cmp esi, 0x1000f000
ja 0x425e5a
je 0x425de4
cmp esi, 0x1000d400
ja 0x425bf1
je 0x425b5d
cmp esi, 0x1000c430
je 0x425b02
cmp esi, 0x1000c800
je 0x425a6d
cmp esi, 0x1000d000
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 8
je 0x4259f3
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x425a09
push esi
push str.fromSPRdma__lx_n
call fcn.00472b80
add esp, 8
mov edx, esi
and dl, 0xc
cmp dl, 4
jne 0x425a39
test esi, 0xffff0000
jne 0x425a39
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0xd000]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0xd000], ecx
jmp 0x425a44
mov eax, dword [0x263e498]
mov dword [eax + 0xd000], esi
mov eax, dword [0x263e498]
test dword [eax + 0xd000], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.00427550
mov eax, dword [0x263cffc]
and eax, 8
je 0x425a87
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x425a9d
push esi
push str.SIF2dma__lx_n
call fcn.00472b80
add esp, 8
mov ecx, esi
and cl, 0xc
cmp cl, 4
jne 0x425acd
test esi, 0xffff0000
jne 0x425acd
mov eax, dword [0x263e498]
mov edx, dword [eax + 0xc800]
movzx ecx, si
and edx, 0xffff0000
or edx, ecx
mov dword [eax + 0xc800], edx
jmp 0x425ad9
mov edx, dword [0x263e498]
mov dword [edx + 0xc800], esi
mov eax, dword [0x263e498]
test dword [eax + 0xc800], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.00494240
mov eax, dword [0x263cffc]
and eax, 4
je 0x425b1c
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425b33
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425b4e
push esi
push str.SIF1dma_TADR___lx_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
pop edi
mov dword [ecx + 0xc430], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 8
je 0x425b77
mov word [0x263d008], 5
mov byte [0x263cfe0], 0x45
test eax, eax
mov esi, dword [esp + 0x10]
je 0x425b8d
push esi
push str.toSPRdma__lx_n
call fcn.00472b80
add esp, 8
mov edx, esi
and dl, 0xc
cmp dl, 4
jne 0x425bbd
test esi, 0xffff0000
jne 0x425bbd
mov eax, dword [0x263e498]
mov ecx, dword [eax + 0xd400]
movzx edx, si
and ecx, 0xffff0000
or ecx, edx
mov dword [eax + 0xd400], ecx
jmp 0x425bc8
mov eax, dword [0x263e498]
mov dword [eax + 0xd400], esi
mov eax, dword [0x263e498]
test dword [eax + 0xd400], 0x100
je 0x42626a
test byte [eax + 0xe000], 1
je 0x42626a
pop edi
pop esi
jmp fcn.00427830
mov eax, esi
sub eax, 0x1000e000
je 0x425d89
sub eax, 0x10
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 4
je 0x425c21
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425c39
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
push ebx
mov ebx, dword [esp + 0x14]
push ebp
je 0x425c56
push ebx
push str.DMAC_STAT_Write_32bit__x_n
call fcn.00472b80
add esp, 8
mov eax, dword [0x263e498]
mov edx, ebx
not edx
and word [eax + 0xe010], dx
shr ebx, 0x10
mov edx, 2
mov edi, edi
lea ecx, [edx - 2]
mov eax, 1
shl eax, cl
test ebx, eax
je 0x425caa
mov esi, dword [0x263e498]
movzx edi, word [esi + 0xe012]
test eax, edi
mov eax, 1
je 0x425ca1
shl eax, cl
not eax
and word [esi + 0xe012], ax
jmp 0x425caa
shl eax, cl
or word [esi + 0xe012], ax
lea ecx, [edx - 1]
mov eax, 1
shl eax, cl
test ebx, eax
je 0x425ce4
mov edi, dword [0x263e498]
movzx esi, word [edi + 0xe012]
movzx ebp, si
test eax, ebp
mov eax, 1
je 0x425cd9
shl eax, cl
not eax
and eax, esi
jmp 0x425cdd
shl eax, cl
or eax, esi
mov word [edi + 0xe012], ax
mov eax, 1
mov ecx, edx
shl eax, cl
test ebx, eax
je 0x425d1f
mov edi, dword [0x263e498]
movzx esi, word [edi + 0xe012]
movzx ecx, si
test eax, ecx
mov eax, 1
mov ecx, edx
je 0x425d14
shl eax, cl
not eax
and eax, esi
jmp 0x425d18
shl eax, cl
or eax, esi
mov word [edi + 0xe012], ax
lea ecx, [edx + 1]
mov eax, 1
shl eax, cl
test ebx, eax
je 0x425d59
mov edi, dword [0x263e498]
movzx esi, word [edi + 0xe012]
movzx ebp, si
test eax, ebp
mov eax, 1
je 0x425d4e
shl eax, cl
not eax
and eax, esi
jmp 0x425d52
shl eax, cl
or eax, esi
mov word [edi + 0xe012], ax
add edx, 4
lea ecx, [edx - 2]
cmp ecx, 0x10
jl 0x425c70
mov edx, dword [0x602970]
and edx, 0x10807
cmp edx, 0x10801
pop ebp
pop ebx
jne 0x42626a
pop edi
pop esi
jmp fcn.00419020
mov eax, dword [0x263cffc]
and eax, 4
je 0x425da3
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425dba
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425dd5
push esi
push str.DMAC_CTRL_Write_32bit__x_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
pop edi
mov dword [ecx + 0xe000], esi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x425dfe
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425e16
mov edx, dword [0x6029c8]
push edx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x425e31
push esi
push str.INTC_STAT_Write_32bit__x_n
call fcn.00472b80
add esp, 8
mov eax, dword [0x263e498]
not esi
and dword [eax + 0xf000], esi
mov eax, dword [0x602970]
and eax, 0x10407
cmp eax, 0x10401
jne 0x42626a
pop edi
pop esi
jmp fcn.00419010
cmp esi, 0x1000f430
ja 0x426053
je 0x42600b
cmp esi, 0x1000f010
je 0x425ee4
cmp esi, 0x1000f130
je 0x425e88
cmp esi, 0x1000f410
jne 0x42606b
mov eax, dword [0x263cffc]
and eax, 4
je 0x425ea2
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425eba
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
mov edx, dword [0x602970]
mov eax, dword [esp + 0x10]
push edx
push eax
push esi
push str.Unknown_Hardware_write_32_at__x_with_value__x___x__n
call fcn.00472b80
add esp, 0x10
pop edi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x425efe
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x425f16
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov edi, dword [esp + 0x10]
je 0x425f31
push edi
push str.INTC_MASK_Write_32bit__x_n
call fcn.00472b80
add esp, 8
mov esi, 2
lea ecx, [esi - 2]
mov eax, 1
shl eax, cl
test edi, eax
je 0x425f62
mov ecx, dword [0x263e498]
test dword [ecx + 0xf010], eax
je 0x425f5c
not eax
and dword [ecx + 0xf010], eax
jmp 0x425f62
or dword [ecx + 0xf010], eax
lea ecx, [esi - 1]
mov eax, 1
shl eax, cl
test edi, eax
je 0x425f94
mov edx, dword [0x263e498]
mov ecx, dword [edx + 0xf010]
test eax, ecx
je 0x425f8c
not eax
and eax, ecx
mov dword [edx + 0xf010], eax
jmp 0x425f94
or ecx, eax
mov dword [edx + 0xf010], ecx
mov eax, 1
mov ecx, esi
shl eax, cl
test edi, eax
je 0x425fc5
mov edx, dword [0x263e498]
mov ecx, dword [edx + 0xf010]
test eax, ecx
je 0x425fbd
not eax
and eax, ecx
mov dword [edx + 0xf010], eax
jmp 0x425fc5
or ecx, eax
mov dword [edx + 0xf010], ecx
lea ecx, [esi + 1]
mov eax, 1
shl eax, cl
test edi, eax
je 0x425ff7
mov edx, dword [0x263e498]
mov ecx, dword [edx + 0xf010]
test eax, ecx
je 0x425fef
not eax
and eax, ecx
mov dword [edx + 0xf010], eax
jmp 0x425ff7
or ecx, eax
mov dword [edx + 0xf010], ecx
add esi, 4
lea edx, [esi - 2]
cmp edx, 0x10
jl 0x425f36
jmp 0x425e3e
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0xfff0000
cmp ecx, 0x210000
mov ecx, dword [0x263e498]
jne 0x426045
mov edx, eax
and edx, 0x3c0
cmp edx, 0x40
jne 0x426045
test byte [ecx + 0xf440], 0x80
jne 0x426045
mov dword [0x6030e4], 0
and eax, 0x7fffffff
pop edi
mov dword [ecx + 0xf430], eax
pop esi
ret
cmp esi, 0x1000f440
je 0x42625a
cmp esi, 0x1000f590
je 0x4261f3
mov edi, dword [esp + 0x10]
mov eax, esi
and eax, 0xffffff0f
cmp eax, 0x1000f200
jne 0x426183
mov eax, esi
and eax, 0xf0
cmp eax, 0x60
ja case.0x426098.1
movzx ecx, byte [eax + 0x426288]
jmp dword [ecx*4 + 0x426270]
mov eax, dword [0x263e498]
mov edx, esi
and edx, 0xffff
mov dword [edx + eax], edi
jmp case.0x426098.1
mov edx, dword [0x263e498]
mov ecx, esi
and ecx, 0xffff
or dword [ecx + edx], edi
lea eax, [ecx + edx]
jmp case.0x426098.1
mov ecx, dword [0x263e498]
mov eax, esi
and eax, 0xffff
mov edx, edi
add eax, ecx
not edx
and dword [eax], edx
jmp case.0x426098.1
test edi, 0x100
jne 0x426100
mov ecx, dword [0x263e498]
mov eax, esi
and eax, 0xffff
add eax, ecx
and dword [eax], 0xfffffeff
jmp case.0x426098.1
mov eax, dword [0x263e498]
mov edx, esi
and edx, 0xffff
add eax, edx
or dword [eax], 0x100
jmp case.0x426098.1
mov edx, dword [0x263e498]
mov ecx, esi
and ecx, 0xffff
mov dword [ecx + edx], 0
mov eax, dword [0x263cffc]
and eax, 4
je 0x426146
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x42615d
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
mov ecx, dword [0x602970]
push ecx
push edi
push esi
push str.Unknown_Hardware_write_32_at__x_with_value__x___x__n
call fcn.00472b80
add esp, 0x10
pop edi
pop esi
ret
cmp esi, 0x10010000
jae 0x42619b
mov eax, dword [0x263e498]
mov edx, esi
and edx, 0xffff
mov dword [edx + eax], edi
mov eax, dword [0x263cffc]
and eax, 4
je 0x4261b5
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x4261cd
mov ecx, dword [0x6029c8]
push ecx
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
je 0x42626a
mov edx, dword [0x602970]
push edx
push edi
push esi
push str.Unknown_Hardware_write_32_at__x_with_value__x___x__n
call fcn.00472b80
add esp, 0x10
pop edi
pop esi
ret
mov eax, dword [0x263cffc]
and eax, 4
je 0x42620d
mov word [0x263d008], 6
mov byte [0x263cfe0], 0x45
test eax, eax
je 0x426224
mov eax, dword [0x6029c8]
push eax
push str._8.8lx:
call fcn.00472b80
add esp, 8
test byte [0x263cffc], 4
mov esi, dword [esp + 0x10]
je 0x42623f
push esi
push str.DMAC_ENABLEW_Write_32bit__lx_n
call fcn.00472b80
add esp, 8
mov ecx, dword [0x263e498]
mov dword [ecx + 0xf590], esi
mov edx, dword [0x263e498]
pop edi
mov dword [edx + 0xf520], esi
pop esi
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [0x263e498]
mov dword [ecx + 0xf440], eax
pop edi
pop esi
ret