Function at 0x437320
Capabilities:
Inspect section memory permissions

Disassembly:
push esi
push ebx
mov esi, eax
call fcn.0042e140
test esi, esi
mov eax, dword [esp + 8]
mov dword [ebx], vtable.CCustomTaiwan.0
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
je 0x437ba8
push edi
xor eax, eax
push 0x60
push eax
lea edi, [ebx + 0x58]
mov dword [ebx + 0x50], eax
push edi
mov dword [ebx + 0x54], eax
call fcn.00523750
movzx eax, word [esi + 0x3fe]
add esp, 0xc
sub eax, 0x1025
mov edx, 0xfffff7ff
je 0x4373e3
sub eax, 0x1e
je 0x43738b
sub eax, 0x41f
jne 0x437443
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x400000
jmp 0x437443
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x1000
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x800
mov eax, dword [ebx + 8]
or dword [eax + 0x30], 2
mov cx, word [esi + 0x3fc]
and cx, 0xf000
cmp cx, 0x1000
jne 0x4373d2
mov eax, 1
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0x1e
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 8]
test byte [eax + 0x182], 1
je 0x437443
and dword [eax + 4], edx
jmp 0x437443
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x40000000
mov eax, dword [ebx + 8]
test dword [eax + 0x230], 0x200000
je 0x437406
test byte [eax + 0x48], 0x80
jne 0x437406
or dword [eax + 8], 2
mov eax, dword [ebx + 8]
mov ecx, 1
or dword [eax + 8], ecx
mov eax, dword [ebx + 8]
cmp dword [eax + 0x19fc], ecx
jne 0x43742d
or dword [eax + 8], 0x4000000
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x2000000
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0xdc]
add ecx, ecx
add ecx, ecx
xor ecx, dword [ebx + 0x50]
and ecx, 8
xor dword [ebx + 0x50], ecx
mov eax, dword [ebx + 0xc]
cmp eax, 0x153
mov ecx, 0x20
jg 0x437500
je case.0x437471.203
sub eax, 0x24
cmp eax, 0xca
ja case.0x437471.38
movzx eax, byte [eax + 0x437be4]
jmp dword [eax*4 + 0x437bb0]
mov eax, dword [ebx + 8]
mov edx, 1
or dword [eax + 0x48], edx
mov eax, dword [ebx + 8]
or dword [eax + 0x48], 2
jmp 0x437526
mov eax, dword [ebx + 8]
or dword [eax + 0x48], 2
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x10
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x8000000
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 4
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x40
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 8
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x800
jmp case.0x437471.38
mov eax, dword [ebx + 8]
and dword [eax + 4], edx
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x100000
or dword [ebx + 0x50], 1
jmp case.0x437471.38
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x10000000
jmp case.0x437471.38
cmp eax, 0x15b
je case.0x437471.203
add eax, 0xfffffe9e
cmp eax, 1
ja case.0x437471.38
mov eax, dword [ebx + 8]
and dword [eax + 4], edx
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x200000
mov edx, 1
movzx eax, word [esi + 0x3fe]
movzx esi, word [esi + 0x3fc]
shl eax, 0x10
or eax, esi
cmp eax, 0x104316d3
ja 0x4377c5
je 0x4377b4
cmp eax, 0x1025022b
ja 0x43767c
cmp eax, 0x10250229
jae case.0x4376a0.270860856
cmp eax, 0x10250128
ja 0x437597
je case.0x4375ae.270860606
cmp eax, 0x10192991
je 0x437586
cmp eax, 0x1019a88d
jne case.0x4379cf.341970973
or dword [ebx + 0x50], 2
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x400
pop edi
mov eax, ebx
pop esi
ret 4
sub eax, 0x10250138
cmp eax, 0xe9
ja case.0x4379cf.341970973
movzx eax, byte [eax + 0x437cd4]
jmp dword [eax*4 + 0x437cb0]
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x8000
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x80000
pop edi
mov dword [ebx + 0x18], 0xa
mov dword [ebx + 0x10], edx
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x80000
or dword [ebx + 0x50], 0x400
mov dword [ebx + 0x18], 0xa
mov dword [ebx + 0x10], edx
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x20000
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x80000
mov dword [ebx + 0x18], 0xa
mov dword [ebx + 0x10], edx
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x10
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
or dword [ebx + 0x50], 8
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x2000000
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x40000
or dword [ebx + 0x50], 0x40
mov ecx, 0x18
mov esi, 0x5ae3f0
rep movsd dword es:[edi], dword [esi]
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10250518
ja 0x4376de
je case.0x43770b.270861848
sub eax, 0x10250235
cmp eax, 0xd6
ja case.0x4379cf.341970973
movzx ecx, byte [eax + 0x437dd8]
jmp dword [ecx*4 + 0x437dc0]
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x40000
or dword [ebx + 0x50], 0x408
pop edi
mov eax, ebx
pop esi
ret 4
or dword [ebx + 0x50], 0x400
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x2000000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10431153
ja 0x437776
je 0x43775e
cmp eax, 0x10250626
ja 0x43771d
je case.0x43770b.270861848
sub eax, 0x10250563
cmp eax, 0xb9
ja case.0x4379cf.341970973
movzx edx, byte [eax + 0x437ebc]
jmp dword [edx*4 + 0x437eb0]
or dword [ebx + 0x50], 8
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10431033
ja 0x437742
je 0x43775e
add eax, 0xefdaf9c1
cmp eax, 3
ja case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 0x28], 0x40
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10431053
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x8000000
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0x14], 4
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x8000000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10431343
ja 0x437796
je 0x4377a6
sub eax, 0x10431163
je 0x437765
sub eax, 0x60
je 0x437810
sub eax, 0x175
jmp 0x4377a0
sub eax, 0x104313b2
je 0x4377a6
sub eax, 0x11
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 0x48], 2
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x800
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x14621004
ja 0x4379b1
je case.0x4379cf.341970972
cmp eax, 0x1043831a
ja 0x4378da
je case.0x4378fa.272859952
cmp eax, 0x104319a3
ja 0x437861
je 0x437810
cmp eax, 0x10431873
ja 0x437855
je 0x43782c
sub eax, 0x10431723
je 0x43781e
sub eax, 0x40
je 0x437810
sub eax, 0xc0
jne case.0x4379cf.341970973
or dword [ebx + 0x50], 0x200
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 8
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x80000000
mov eax, dword [ebx + 8]
or dword [eax + 0xc], edx
mov eax, dword [ebx + 8]
or dword [ebx + 0x50], 0x28
or dword [eax + 0xc], 2
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 4
pop edi
mov eax, ebx
pop esi
ret 4
sub eax, 0x10431878
je 0x437810
sub eax, 0x1b
jmp 0x43780a
cmp eax, 0x104382cb
ja 0x43789a
je 0x437889
cmp eax, 0x104319b3
je 0x437810
cmp eax, 0x104381e7
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x200
pop edi
mov eax, ebx
pop esi
ret 4
sub eax, 0x10438307
je 0x4378cc
sub eax, 0x10
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x80000000
mov eax, dword [ebx + 8]
or dword [eax + 0xc], edx
mov eax, dword [ebx + 8]
or dword [ebx + 0x50], 0x28
or dword [eax + 0xc], 2
pop edi
mov eax, ebx
pop esi
ret 4
or dword [ebx + 0x50], 0x184
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x104384b0
ja 0x437938
je 0x437923
sub eax, 0x10438330
cmp eax, 0x9e
ja case.0x4379cf.341970973
movzx eax, byte [eax + 0x437f84]
jmp dword [eax*4 + 0x437f78]
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x80
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x4000000
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [ebx + 0x50], 0x4000
or dword [eax + 0xc], 0x40
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10719008
ja 0x43797b
je 0x43799d
cmp eax, 0x104384bc
je 0x43796a
cmp eax, 0x10714800
jne case.0x4379cf.341970973
pop edi
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], 0xf
mov dword [ebx + 0x10], edx
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0x28], 0x4000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x10719070
je 0x43799a
cmp eax, 0x107b0174
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
pop edi
mov eax, ebx
pop esi
ret 4
mov dword [ebx + 0x1c], edx
pop edi
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], 3
mov dword [ebx + 0x10], edx
mov eax, ebx
pop esi
ret 4
cmp eax, 0x14623783
ja 0x437a00
je 0x4379f0
sub eax, 0x1462101c
cmp eax, 0x64
ja case.0x4379cf.341970973
movzx eax, byte [eax + 0x438030]
jmp dword [eax*4 + 0x438024]
mov eax, dword [ebx + 8]
or dword [eax + 0x14], ecx
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0x1c], edx
pop edi
mov eax, ebx
pop esi
ret 4
pop edi
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x10], edx
mov eax, ebx
pop esi
ret 4
cmp eax, 0x14627517
ja 0x437ae4
je 0x437639
cmp eax, 0x14626481
ja 0x437a76
je 0x437a6b
cmp eax, 0x1462524b
ja 0x437a3f
cmp eax, 0x1462524a
jae 0x437ab7
sub eax, 0x14624aa7
je 0x437b3b
sub eax, 0xa
jmp 0x437b39
cmp eax, 0x1462531b
je 0x437ab7
cmp eax, 0x14626300
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], ecx
mov eax, dword [ebx + 8]
or dword [eax + 4], 8
mov eax, dword [ebx + 8]
or dword [eax + 0x24], edx
pop edi
mov eax, ebx
pop esi
ret 4
or dword [ebx + 0x50], 4
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x1462736a
ja 0x437ac8
je 0x437ab7
cmp eax, 0x1462678a
je 0x437aa6
cmp eax, 0x14627248
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x40
mov eax, dword [ebx + 8]
or dword [eax + 4], 4
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0x28], 0x400
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x4000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x14627441
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x2000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x17ff0594
ja 0x437b57
je 0x437b4c
cmp eax, 0x17ff0590
ja 0x437b34
je 0x437b3b
cmp eax, 0x15093005
je 0x437b23
cmp eax, 0x17c010d7
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 0xc], 0x40
mov ecx, dword [ebx + 8]
or dword [ebx + 0x50], 0x1000
pop edi
mov dword [ecx + 0x18], edx
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 8], 0x20000000
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x17ff0592
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 4], 0x400000
pop edi
mov eax, ebx
pop esi
ret 4
or dword [ebx + 0x50], 0x10
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x1b0a00cf
ja 0x437b99
je 0x437b88
sub eax, 0x1b0a00ad
je 0x437b7a
sub eax, 0x1a
jne case.0x4379cf.341970973
mov eax, dword [ebx + 8]
or dword [eax + 0x24], 8
pop edi
mov eax, ebx
pop esi
ret 4
or dword [ebx + 0x50], 0x800
pop edi
mov eax, ebx
pop esi
ret 4
mov eax, dword [ebx + 8]
or dword [eax + 0x14], 0x800
pop edi
mov eax, ebx
pop esi
ret 4
cmp eax, 0x1b0a20a0
jne case.0x4379cf.341970973
or dword [ebx + 0x50], 0x8000
pop edi
mov eax, ebx
pop esi
ret 4